差分
編集の要約なし
'''ダブル・チェック・ロッキング'''([[英語]]:double check locking)とは、マルチスレッド環境下におけるlocking)とは、[[マルチスレッド]]環境下における[[変数]]に対して、初回は[[ロック]]せず状態チェックを行い、そこで必要であれば再度[[ロック]]を掛けたのちに状態チェックを行うというを掛けた後に状態チェックを行うという[[ソフトウェア]]の[[最適化]]技法、[[デザインパターン]]のひとつである。
==概要==ダブル・チェック・ロッキングは、主に[[変数マルチスレッド]]の環境下での[[ロックシングルトンパターン]]は非常にを実装する際に[[オーバーヘッド]]の大きい重たい処理であるため、その発生回数を可能な限り減らすことで[[プログラム]]の高速化を実現しようというものである。の低減を目的として使われることが多い。
== 主なプログラミング言語での実装例 ==
=== C# (Lazy) ===
[[.NET Framework 4.0]]では、標準でLazyから標準でLazy<T>クラスが用意されており、それを使うことでよりシンプルにダブル・チェック・ロッキングを記述できるようになったクラス(System名前空間)が用意されており、これを使うことで簡潔明瞭にダブル・チェック・ロッキングを記述できるようになった<!--<ref>{{cite
|title=C# 4.0 in a Nutshell
|last=Albahari