「ダブル・チェック・ロッキング」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) |
||
| 26行目: | 26行目: | ||
public static MySingleton GetInstance() | public static MySingleton GetInstance() | ||
{ | { | ||
// | // 1回目の大雑把なチェック | ||
// | // ロックしていない「nullではない場合」の処理が高速化されます。 | ||
if (null == _instance) | if (null == _instance) | ||
{ | { | ||
// ロック | // ロック | ||
// | // ここで処理は急激に重くなります。 | ||
lock (_sync) | lock (_sync) | ||
{ | { | ||
// | // 2回目の厳密なチェック | ||
if (null == _instance) | if (null == _instance) | ||
{ | { | ||