digitalmars.D.learn - "waking up" a thread
- funog (1/1) Aug 12 2009 Is there a way to make the current thread sleep for a given amount of ti...
- Steven Schveighoffer (9/12) Aug 12 2009 Create a mutex/condition pair, then have one thread wait on the conditio...
- funog (3/22) Aug 12 2009 Thanks for your answer.
- Steven Schveighoffer (3/27) Aug 13 2009 Yes, use D2.
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?
Aug 12 2009
On Wed, 12 Aug 2009 13:00:22 -0400, funog <funog 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
Aug 12 2009
Steven Schveighoffer Wrote:On Wed, 12 Aug 2009 13:00:22 -0400, funog <funog ifrance.com> wrote:Thanks for your answer. If there is a way without tango I am interested.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
Aug 12 2009
On Thu, 13 Aug 2009 02:59:39 -0400, funog <funog ifrance.com> wrote:Steven Schveighoffer Wrote:Yes, use D2. -SteveOn Wed, 12 Aug 2009 13:00:22 -0400, funog <funog ifrance.com> wrote:Thanks for your answer. If there is a way without tango I am interested.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
Aug 13 2009