Concurrency send immutable

drug drug2004 at bk.ru
Fri Nov 24 13:24:06 UTC 2017


24.11.2017 15:53, SrMordred пишет:
> On Friday, 24 November 2017 at 12:36:42 UTC, Daniel Kozak wrote:
>> Should print something like this: 
>> std.concurrency.OwnerTerminated at std/concurrency.d(223): Owner terminated
> 
> Yes, it was, I was aware of this and put some sleep after that too.
> 
>> (immutable (int)[] v)
> 
> OK that parenteshis was the problem, thanks :)
> 
> But its a little confusing i think, since the syntax for creating the 
> array is different from the syntax on the arguments.
> 
> and:
> 
> immutable int[];
> immutable (int)[];
> immutable (int[]);
> 
> (differences? what/when use)
Yes, it's different.
immutable int[] is equal to immutable (int[]) and means immutable slice 
of immutable int. on the other hand immutable (int)[] means _mutable_ 
slice of immutable int.
> 
> And other question:
> 
> When you send immutable data , i'm getting a copied data on the other 
> thread, or its the same data?
> 
> Like:
> 
> send(thread1, arr);
> send(thread2, arr);
> send(thread3, arr);
> send(thread4, arr);
> 
> (multiple copies, or all threads are seeing the same addresses ? )
the same data, it's the purpose of immutable



More information about the Digitalmars-d-learn mailing list