ACCU 2013 and D
    angel 
    andrey.gelman at gmail.com
       
    Mon Jan 21 00:26:55 PST 2013
    
    
  
Concurrency and parallelism may be emphasized well with this 
simple example:
     foreach(i, ref elem; task_pool.parallel(logs)) {
         elem = log(i + 1.0);
     }
Keeping the (straight forward) serial semantics, we write 
parallelizable code.
Another good example, that demonstrates concurrency model 
borrowed from Erlang is:
     while (cont) {
         receive(
             (int msg) { writeln("int received: ", msg) },
             (string msg) {
                 cont = (msg == "stop") ? false : true;
             }
         );
     }
The 'send' part you can easily add by yourself.
Both examples emphasize requiring little and giving much.
    
    
More information about the Digitalmars-d
mailing list