GC and threads
Frits van Bommel
fvbommel at REMwOVExCAPSs.nl
Sun Jan 28 12:28:59 PST 2007
Saaa wrote:
> Will a garbage collection sweep halt all threads momentarily?
All threads created using std.thread, IIRC.
> If so, isn't there a way around this?
There is, don't use std.thread to start your thread ;). Be careful
though: threads the GC doesn't know about should never have the only
reference to an object allocated on the GC heap (i.e. allocated using a
non-overloaded 'new').
In fact, it theoretically shouldn't have *any* reference to an object
created by the GC, since the GC is allowed to move objects and can only
adjust references in the registers of a thread if it knows about the
thread. However, the current GC doesn't move objects, so for now that
should still be safe.
More information about the Digitalmars-d
mailing list