Thread GC non "stop-the-world"

Oscar Martin via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 23 12:00:57 PDT 2014


On Tuesday, 23 September 2014 at 16:47:09 UTC, David Nadlinger 
wrote:
> On Tuesday, 23 September 2014 at 10:38:29 UTC, Kagamin wrote:
>> The question is how thread-local GC will account for data 
>> passed to another thread.
>
> I was briefly discussing this with Andrei at (I think) DConf 
> 2013. I suggested moving data to a separate global GC heap on 
> casting stuff to shared. Assigning types with indirections to a 
> __gshared variable might also trigger this, unless we can find 
> a better design. IIRC, Andrei dismissed this as impractical due 
> to the overhead and need for precise scanning. I still like to 
> think that it would be worth it, though, even if I can't spare 
> the time for looking into an implementation right now.
>
> David

Yes, it could be a palliative measure, and yes, it require 
precise scanning. I do not think it is easy to implement on the 
stack.

And in any case I believe the problem is to have multiple 
references to the same object from different threads, which 
forces you to "stop-the-world". That problem still exist


More information about the Digitalmars-d mailing list