"waking up" a thread

Steven Schveighoffer schveiguy at yahoo.com
Wed Aug 12 10:10:37 PDT 2009


On Wed, 12 Aug 2009 13:00:22 -0400, funog <funog at ifrance.com> wrote:

> Is there a way to make the current thread sleep for a given amount of  
> time, while having the possibility of another thread "waking it up"  
> earlier?

Create a mutex/condition pair, then have one thread wait on the condition  
with a timeout.

The second thread signals the condition to wake it up early.

If you are using D1, then you have to use Tango (I think), and the classes  
are tango.core.sync.Mutex and tango.core.sync.Condition

If you are using D2, then they are in druntime, probably  
core.sync.Condition and core.sync.Mutex, not sure though.

-Steve



More information about the Digitalmars-d-learn mailing list