|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ロック : [ろっく] 1. (n,vs) (1) lock 2. (2) rock 3. (P), (n,vs) (1) lock/(2) rock
デッドロック (英: deadlock) とは、特に計算機科学において、2つ以上のスレッドあるいはプロセスなどの処理単位が互いの処理終了を待ち、結果としてどの処理も先に進めなくなってしまうことを言う。合弁契約書などにおいてパートナーと問題が生じた場合の解決方法を定めた条項を「デッドロック条項(Deadlock Clause)」と言う。 英語ではもともと行き詰まりの意味である。 == デッドロックが発生する原因 == 基本的にデッドロックは資源数が2以上の場合に発生する(たとえばクリティカルセクションが一つあれば資源は1つと数えられる。二つのクリティカルセクションがあれば資源数は2である)。 資源数が1の場合、セマフォ等はバイナリセマフォとなり、振る舞いはミューテックスと同じになるのでデッドロックは発生しない(ライブロックする。これを回避する方法は数多く考案されており、たとえばCSMA/CDでは乱数を用いて回避する)。 資源数を1にする事は、デッドロックを回避する根本的な解決方法であるが、その場合プログラムの並列性は著しく損なわれるため、現代のコンピュータープログラミングにおいて現実的な手段とは言えない。資源を多数用い、なおかつデッドロックを回避する手段については以下に述べる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「デッドロック」の詳細全文を読む スポンサード リンク
|