Fawzi Mohamed wrote:
On 2009-04-06 20:49:50 +0200, Steve Teale <steve.te...@britseyeview.com>
said:
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.
no pause and resume remains a bad idea because [...]
^
Insert comma here.
Andrei