「ダブル・チェック・ロッキング」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
26行目: | 26行目: | ||
public static MySingleton GetInstance() | public static MySingleton GetInstance() | ||
{ | { | ||
− | // | + | // 1回目のチェック |
− | // | + | // ロックしていないので高速に処理される |
if (null == _instance) | if (null == _instance) | ||
{ | { | ||
// ロック | // ロック | ||
− | // | + | // ※このブロック内はクソ重い |
lock (_sync) | lock (_sync) | ||
{ | { | ||
− | // | + | // 2回目のチェック |
if (null == _instance) | if (null == _instance) | ||
{ | { |