[D-runtime] What's with core.sync.condition usage?

Steve Schveighoffer schveiguy at yahoo.com
Fri Apr 27 03:21:16 PDT 2012

Just like Sean said.  It's just his comment that puzzled me.

Examples would be nice.  I've done an article in the past on thread programming, maybe I'll do something for this.  If you search google for mutex condition, I'm sure you'll find loads of examples.


> From: Alex Rønne Petersen <xtzgzorex at gmail.com>
>To: D's runtime library developers list <d-runtime at puremagic.com> 
>Sent: Thursday, April 26, 2012 7:10 PM
>Subject: Re: [D-runtime] What's with core.sync.condition usage?
>Now I'm really confused.
>How is this thing *actually* supposed to be used? And can we add some examples to the docs?
>On Fri, Apr 27, 2012 at 1:08 AM, Sean Kelly <sean at invisibleduck.org> wrote:
>On Apr 26, 2012, at 1:22 PM, Steve Schveighoffer wrote:
>>> From: Sean Kelly <sean at invisibleduck.org>
>>> void put(T val) {
>>>     synchronized (cond.mutex) {
>>>         queue.pushBack(val);
>>>         cond.notify(); // atomically unlocks mutex on call, locks on return
>>>     }
>>> }
>>> Huh, I thought notify did not unlock the mutex at all (I don't see why it would need to).
>>Oops… you're right.  The original implementation (Hoare's) did, I believe, but the modern one does not.
>>D-runtime mailing list
>>D-runtime at puremagic.com
>D-runtime mailing list
>D-runtime at puremagic.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/d-runtime/attachments/20120427/f7bf7fba/attachment-0001.html>

More information about the D-runtime mailing list