digitalmars.D.learn - "waking up" a thread
- funog <funog ifrance.com> Aug 12 2009
- "Steven Schveighoffer" <schveiguy yahoo.com> Aug 12 2009
- funog <funog ifrance.com> Aug 12 2009
- "Steven Schveighoffer" <schveiguy yahoo.com> Aug 13 2009
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: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
Thanks for your answer. If there is a way without tango I am interested.
Aug 12 2009
On Thu, 13 Aug 2009 02:59:39 -0400, funog <funog ifrance.com> wrote:Steven Schveighoffer Wrote: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
Thanks for your answer. If there is a way without tango I am interested.
Yes, use D2. -Steve
Aug 13 2009









funog <funog ifrance.com> 