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.