[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

デッドロック (deadlock)

pointこの用語のポイント

pointどっちも身動きが取れなくなっている状況だよ

pointお互い、相手の処理が終わるのを待ってるよ

スポンサーリンク

簡単に書くよ

デッドロック (deadlock)とは

お互いが相手の作業が終わるのを待っていて、どっちも身動きが取れなくなっている状況のこと
です。

image piyo

詳しく書くよ

「デッド」な「ロック」で「デッドロック」です。

「ロック」は「これ今俺が使ってるからさ。他の人は触らないで」のことね。
「デッド」は「なんかヤバいことになってるんだなー」とかそんなイメージです。

つまり「ロックが原因でヤバいことになっている」のが「デッドロック」です。

デッドロック

例えばそうですね。
AさんとBさんがあるマンガ喫茶に来ているとします。

Aさんは全2巻で完結のマンガ『ぴよぴよファンタジー』を読みたかったのですが、1巻しか棚に置いてありませんでした。
「どーせだったら一気に読みたいなぁ」そう考えたAさんは、取りあえず1巻を手に取りつつ2巻が棚に戻るのを待ちました。

時はさかのぼってって5分前のことです。
Bさんは全2巻で完結のマンガ『ぴよぴよファンタジー』を読みたかったのですが、2巻しか棚に置いてありませんでした。
「どーせだったら一気に読みたいなぁ」と考えたBさんは、取りあえず2巻を手に取りつつ1巻が棚に戻るのを待……とうと思ったのですが、喉が渇いたのでドリンクバーを取りに行ったのです。

あぁ、なんたる悲劇。
Bさんがドリンクバーを取りに行っている間に1巻が棚に戻され、Aさんがそれを手にしてしまいました。

ここで質問です(--)b

Aさん、もしくはBさんが『ぴよぴよファンタジー』を読めるのはいつになるでしょう?

そうですね。
答えは「いつまで経っても読めない」です。

Aさんは1巻を片手に2巻が棚に戻るのを待ちます。
Bさんは2巻を片手に1巻が棚に戻るのを待ちます。

AさんもBさんも自分が確保している巻が原因で相手の動きを止めてしまっています。

このような現象を「デッドロック」と言います。

実際のデータの話で言えば、ファイル1のデータとファイル2のデータを同時に更新する必要があった場合(2つともロックする必要があった場合)で、プログラムaがファイル1をロック、プログラムbがファイル2をロックしてしまった場合などに起きます。
自分が動けないのが原因で相手が動けない。でも自分が動けないのは相手が動けないのが原因だ。でも相手が動けないのは自分が原因。でも自分が動けないのは……と延々続く状態ですね。

ちなみに今回は登場人物が二人で話しましたが、三人以上登場するデッドロックもあります。
もし遭遇したら存分に涙目になってください。

image piyo2

一言でまとめるよ

まぁ「デッドロック」って単語が出てきたら「お互いに相手が終わるのを待っていて身動き取れなくなってんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク