C++ で古典的なシングルトン クラスを見てきました。私の理解では、この実装はスレッドセーフです。次に、このクラスが 2 つの DLL に含まれており、両方が 1 つのアプリケーションにロードされている場合、静的変数のコピーが 2 つ取得されるため、S クラスのインスタンスが 2 つになるため、完全にスレッド セーフではないことを読みました。
解決策はまだミューテックスロックを使用していますか? (これは C# の一般的な方法であることがわかっています。詳しくは、http: //csharpindepth.com/Articles/General/Singleton.aspxを参照してください。
class S
{
public:
static S& getInstance()
{
static S instance;
return instance;
}
private:
S();
S(S const&); // Don't Implement
void operator=(S const&); // Don't implement
};