First big PITA in reallife D project

Sean Kelly sean at invisibleduck.org
Fri Oct 22 11:27:18 PDT 2010


Kagamin Wrote:

> Andrei Alexandrescu Wrote:
> 
> > Terminating threads has always been iffy in all languages that use 
> > native threads. I've discussed with Sean a couple of times about ways to 
> > define a little protocol and API for orderly thread termination. We need 
> > something like a callback mechanism - atShutdown().
> 
> Why? Just call delete on the thread object and in destructor do everything you want to put in atShutdown.

Thread objects are tracked by the runtime.  If you explicitly delete them, expect a segfault.  I suppose I could use a pimpl approach to avoid this, but it would be a tad tricky (Thread.getThis() for example).  More appropriate is to use a non-shared static dtor to signal thread shutdown, which is basically how OwnerTerminated works anyway.  It's just taken care of for you.


More information about the Digitalmars-d mailing list