3

シングルトン設計パターンは、単一のオブジェクト参照を確実にするか、シングルトンパターンの実装中にオブジェクトの複数の参照の可能性/可能性があることを確認しますか?マルチスレッドの場合、私たちでさえ複数のオブジェクトの可能性があると思いますシングルトンパターンを実装しました。

助けてください。

4

4 に答える 4

3

スレッドがシングルトンで問題を引き起こす可能性があります。ここでは、シングルトンをスレッドセーフにするための包括的なソリューション セットを見つけることができます。

http://csharpindepth.com/Articles/General/Singleton.aspx

于 2013-04-18T10:53:51.480 に答える
2

シングルトン パターンは、クラスのインスタンス化を 1 つのオブジェクトに制限する設計パターンです。インスタンスが既に存在する場合は、そのオブジェクトへの参照を返すだけです。ただし、マルチスレッド環境では、2 つの別個のスレッドがgetInstance()同時に入る可能性があり、そのインスタンスが存在することを確認してnullから、クラスの 2 つのインスタンスを作成します。したがって、それを防ぐには、次のようにマークする必要がありgetInstance()ますsynchronized

public static synchronized Singletone getInstance() {
    if(instance == null){
        instance = new createInstance();
    }
    return instance;
}

理解を深めるために、この投稿をチェックしてください。

于 2013-04-18T10:51:34.487 に答える