Testing some singleton implementations

Stanislav Blinov stanislav.blinov at gmail.com
Fri Feb 7 03:31:13 PST 2014


On Friday, 7 February 2014 at 10:25:52 UTC, TC wrote:

> Should't be the LockSingleton implemented like this instead?
>
> class LockSingleton
> {
>     static auto get()
>     {
>         if (_instance is null)

(_instance is null) will most likely not be an atomic operation. 
References are two words. Imagine that one thread writes half a 
reference inside synchronized {}, then goes to sleep. What would 
the thread that gets to that 'if' return? I'd say it'll return 
"ouch".


More information about the Digitalmars-d mailing list