Steve Teale Wrote:

> Sean Kelly Wrote:
> 
> > == Quote from Steve Teale (steve.te...@britseyeview.com)'s article
> > >
> > > In some code I wrote at that time, I had a worker thread pool. When a 
> > > thread had done its job it would mark itself as available then
> > pause. The listener thread would then resume it or start one that had never 
> > been started. I'm trying to get it running in 2.26. There
> > are functions of the same name there but they are nested inside SuspendAll 
> > and ResumeAll, and so not accessible.
> > 
> > This sounds like a classic producer/consumer case.  I suggest using 
> > condition
> > variables (core.sync.condition with core.sync.mutex).
> 
> The problem is at the moment, that the D documentation covers the language, 
> and Phobos - the latter option exposes Object to some extent.
> 
> Anything that is in core.* is undocumented and you have to 'rtfsc' - if you 
> can find it. I can't even find "core.sync" in D files under dmd. Can you 
> point me in the right direction please.
> 
> Thanks Steve
> 
As an aside, I realize that Thread.suspend is dodgy, it's been deprecated in 
Java and C#. Can the metaprogrammers out there come up with a way to insist 
that a particular member function is called only from the instance that it 
'belongs' to. Then presumably it could be made safe.

Reply via email to