Double Checked Locking

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Jan 5 08:31:06 PST 2012


On 1/5/12 4:16 AM, Manfred Nowak wrote:
> Andrei Alexandrescu wrote:
>
>> specification can be refined
>
> 1) I do not see such refinements for D.

The shared qualifier is meant to guarantee sequential consistency. This 
is not yet implemented.

> 2) If there is _no_ requirement for such refinements to be used
> "manually": which theory enables the compiler to detect the
> prerequisites for the refinements automatically?

If I understand this correctly, you're asking whether races can be 
eliminated during compilation. Yes, it is possible, see a line of 
research started by Boyapati: 
http://eecs.umich.edu/~bchandra/publications/oopsla01.pdf.

D is also designed to eliminate low-level races (in safe programs) 
during compilation because there is no undue aliasing. High-level races 
are not eliminated.

> 3) If there _is_ a requirement for such refinements to be used
> "manually", then there is no such theory and your starting "No" turns
> into a "Yes, of course, even if the specification _is_ refined, because
> humans might fail".

I don't understand what this are trying to convey.


Andrei




More information about the Digitalmars-d mailing list