Parallel processing and further use of output

anonymous via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Sep 26 09:10:31 PDT 2015


On Saturday, 26 September 2015 at 13:09:54 UTC, Meta wrote:
> On Saturday, 26 September 2015 at 12:33:45 UTC, anonymous wrote:
>>     foreach (f; parallel(iota(1, 1000000+1)))
>>     {
>>         synchronized i += f;
>>     }
>
> Is this valid syntax? I've never seen synchronized used like 
> this before.

I'm sure it's valid.

A mutex is created for that instance of synchronized. I.e., only 
one thread can execute that piece of code at a time.

If you're missing the braces, they're optional for single 
statements, as usual.

http://dlang.org/statement.html#SynchronizedStatement


More information about the Digitalmars-d-learn mailing list