Re: Share array element between threads

2014-11-06 Thread Misu via Digitalmars-d-learn
On Thursday, 6 November 2014 at 13:04:18 UTC, Marc Schütz wrote: It's a bug: https://issues.dlang.org/show_bug.cgi?id=2043 As a workaround, you can nest the call in another lambda: foreach(acc; accounts) { (Account acc) { task(() { writeln(acc.id); }).executeInNewThr

Re: Share array element between threads

2014-11-06 Thread via Digitalmars-d-learn
On Thursday, 6 November 2014 at 10:53:32 UTC, Misu wrote: Hi, when I execute this code I have 7 7 7 as result, I think I understand why. How can I execute a special task for one element ? import std.stdio; import std.parallelism; void main(string[] args) { class Account {

Re: Share array element between threads

2014-11-06 Thread bearophile via Digitalmars-d-learn
Misu: void main(string[] args) { class Account { public this(int id) { this.id = id; } int id; } ... This is not an answer to your question, but note: void main() { class Foo {} static class Bar {} pragma(msg, __traits(classI