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