synchronized (this[.classinfo]) in druntime and phobos

Alex Rønne Petersen alex at lycus.org
Tue May 29 16:17:05 PDT 2012


On 30-05-2012 01:10, Andrei Alexandrescu wrote:
> On 5/29/12 4:06 PM, Alex Rønne Petersen wrote:
>> Synchronized blocks are good because they
>> operate on an implicit, hidden, global mutex. You can't screw up with
>> that.
>
> I think there's quite some disconnect here. If there's any anti-pattern
> in this discussion, it's operating on an implicit, hidden, global mutex.
> Walter agreed to eliminate that from D, but never got around to it.
>
> Andrei

I'd love to hear why you think this design is problematic as opposed to 
one that lets users accidentally expose synchronization issues to 
consumers of their API surface, which is what many people end up doing 
since synchronized (this) or even synchronized (this.classinfo) are 
allowed at all.

(I've seen countless cases of those two horrible abuses of synchronized 
especially from people asking questions on e.g. IRC.)

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list