シングルトンソフトウェアデザインパターンを使用するステートエンジンがあります。状態エンジンには、複数のスレッドからアクセスできます。オブジェクトは、プログラムの起動時にメインスレッドから初期化され、レイジー初期化用に設計されていません。
私の質問は、パブリック静的メンバーを次のように揮発性にする必要があるかどうかです。
class CStateEngine final
{
private:
/* Contains the Singleton object */
static CStateEngine* instance;
protected:
CStateEngine();
public:
static CStateEngine* Instance() volatile; // Returns the Singleton instance
static void DeleteInstance() volatile; // Deletes the Singleton instance
}