Singletonパターンつのインスタンスのみがマルチスレッディングで作成され

シングルトンパターンを使用しながら、, つのインスタンスのみがマルチスレッドで作成されます。?

スレッドシ​​ングルトンクラスを使用すると、インスタンスは1つしか作成されていることが保証されます.

公共シールクラスシングルトン
{
プライベート静的なシングルトンシングルトン= nullを;
プライベート静的な読み取り専用のオブジェクトsingletonLock =新しいオブジェクト();

プライベートシングルトン() {}
公共の静的なシングルトンのgetInstance()
{
ロック (singletonLock)
{
ば (シングルトン== nullの)
{
シングルトン=新しいシングルトン();
}
シングルトンを返す ;
}
}
}

問題が発生します場合にのみ、最初のインスタンスの作成.

ロックの使い方() 私たちのインスタンスを作成するには、同時に二つのスレッドの実行を避けるために、スレッドセーフを提供します.

再び我々は検証されています (singletonobject == nullの) そのため、一度だけインスタンスが作成されることが保証されます.

ダブルチェックのオプションは、私たちのクラスの完全な証拠になります.

返信コメントを残す

使用することができます これらのHTMLタグ

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>