Concurrency Confusion

"岩倉 澪" via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Aug 4 06:11:23 PDT 2015


On Tuesday, 4 August 2015 at 11:42:54 UTC, Dicebot wrote:
> On Tuesday, 4 August 2015 at 11:33:11 UTC, 岩倉 澪 wrote:
>> On Tuesday, 4 August 2015 at 10:37:39 UTC, Dicebot wrote:
>>> std.concurrency does by-value message passing (in this case 
>>> just ptr+length), it never deep copies automatically
>>
>> I assumed that it would deep copy (in the case of mutable 
>> data) since the data being sent is thread-local (unless I am 
>> misunderstanding something)
>
> It is heap-allocated and in there is no thread-local heap 
> currently in D - only globals and static variables.
>
> std.concurrency never deep copies - if you are trying to send 
> data which contains indirections (pointers/arrays) _and_ is not 
> marked either immutable or shared, it will simply not compile.

Ahh, thanks for the clarification! That makes a lot of sense


More information about the Digitalmars-d-learn mailing list