A monitor for every object

Steven Schveighoffer schveiguy at yahoo.com
Mon Feb 7 05:20:20 PST 2011


On Fri, 04 Feb 2011 18:29:08 -0500, Sean Kelly <sean at invisibleduck.org>  
wrote:

> On Feb 4, 2011, at 3:06 PM, Tomek Sowiński wrote:
>
>> Steven Schveighoffer napisał:
>>
>>> D also allows you to replace it's monitor with a custom monitor object
>>> (i.e. core.sync.Mutex) so you can have more control over the mutex,  
>>> assign
>>> the same mutex to multiple objects, use conditions, etc.  It's much  
>>> more
>>> flexible than Java or C# IMO.
>>
>> I didn't know, thx. Where is it documented?
>
> Only in the docs for the Mutex ctor here:
>
> http://www.digitalmars.com/d/2.0/phobos/core_sync_mutex.html
>
> By the way, when using Mutex as an object monitor you currently can't  
> attach dispose event handlers to the object (ie. via std.signals).  That  
> functionality is only supported by the default monitor.  I've considered  
> changing this, but doing so imposes some weird requirements on the  
> creators of an external object monitor, like Mutex.

Sean, I could have sworn that mutex can take over multiple objects'  
monitors.  This would be highly desirable in a complex structure where  
members of an object should use the same mutex for synchronized calls.

But looking at the docs once again, it looks like it can only be the  
monitor for one object (as the target object is accepted only on  
construction).  Is that a limitation we cannot remove?

-Steve


More information about the Digitalmars-d mailing list