Singleton in Action?
kdevel
kdevel at vogtner.de
Tue Feb 5 08:20:06 UTC 2019
On Monday, 4 February 2019 at 10:17:53 UTC, bauss wrote:
> On Saturday, 2 February 2019 at 16:56:45 UTC, Ron Tarrant wrote:
[...]
>> Here's the singleton code I've been playing with:
>>
[...]
>> static bool instantiated_;
>>
>> // Thread global
>> __gshared DSingleton instance_;
[...]
>> if(!instantiated_)
[...]
>> if(!instance_)
[...]
> Ex. you state "instantiated_" is thread-local but that's the
> flag you use to check whether it has been instantiated.
User angel has pointed to
https://davesdprogramming.wordpress.com/ and the talk
https://www.youtube.com/watch?v=ZHmIAdlNtiM which entails the
reasoning about that pattern.
> That will not work.
Will it not work in therory (in which?) or in practice (in which)?
> Instead it should actually be shared, especially because you
> use it in a synchronized statement.
The purpose of the pattern is to avoid synchronisationin all but
the first call to get().
> Also:
>
> DSingleton singleton = new DSingleton;
>
> Defeats the purpose of singleton.
Sure, but it is not lazy.
More information about the Digitalmars-d-learn
mailing list