シングルトンパターンを使用しながら、, つのインスタンスのみがマルチスレッドで作成されます。?
スレッドシングルトンクラスを使用すると、インスタンスは1つしか作成されていることが保証されます.
公共シールクラスシングルトン
{
プライベート静的なシングルトンシングルトン= nullを;
プライベート静的な読み取り専用のオブジェクトsingletonLock =新しいオブジェクト();
プライベートシングルトン() {}
公共の静的なシングルトンのgetInstance()
{
ロック (singletonLock)
{
ば (シングルトン== nullの)
{
シングルトン=新しいシングルトン();
}
シングルトンを返す ;
}
}
}
問題が発生します場合にのみ、最初のインスタンスの作成.
ロックの使い方() 私たちのインスタンスを作成するには、同時に二つのスレッドの実行を避けるために、スレッドセーフを提供します.
再び我々は検証されています (singletonobject == nullの) そのため、一度だけインスタンスが作成されることが保証されます.
ダブルチェックのオプションは、私たちのクラスの完全な証拠になります.
返信コメントを残す