...
The double-checked locking idiom improves performance by limiting synchronization to the rare case of new instance creation and forgoing it during the common case of retrieving an already created instance.
Incorrect forms of the double-checked idiom include those that allow an uninitialized or partially initialized object to be published.
Noncompliant Code Example
...