Прочел последний топик про Singleton в этой группе «Совершенный код» и вспомнилось мне недавнее сообщение в группе Google comp.lang.c++.moderated про совершенную реализацию thread safe Singleton.
Советую всем любителям C++ прочитать это сообщение и вникнуть в код в нем.
По-моему это своего рода шедевр про то, как можно стремлением к совершенству убить красоту и понятность кода и превратить его в совершенный и нечитаемый фарш.
Мое мнение, что thread safe для Singleton не нужен, т.к. проблему одновременной инициализации static переменной в Meyers Singleton можно решить более простыми способами.
Например, вызывать метод instance для этого Singleton до создания первого потока, который будет его использовать, например, вначале main() или в функции, создающей эти потоки.
Есть возражения или мысли на этот счет?
Советую всем любителям C++ прочитать это сообщение и вникнуть в код в нем.
По-моему это своего рода шедевр про то, как можно стремлением к совершенству убить красоту и понятность кода и превратить его в совершенный и нечитаемый фарш.
Мое мнение, что thread safe для Singleton не нужен, т.к. проблему одновременной инициализации static переменной в Meyers Singleton можно решить более простыми способами.
Например, вызывать метод instance для этого Singleton до создания первого потока, который будет его использовать, например, вначале main() или в функции, создающей эти потоки.
Есть возражения или мысли на этот счет?