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

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

デッドロック (deadlock)

pointこの用語のポイント

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

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

スポンサーリンク

簡単に書くよ

デッドロック (deadlock)とは

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

image piyo

詳しく書くよ

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

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

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

デッドロック

例えば、そうですね。
ピヨ太君とピヨ子さんが、とあるマンガ喫茶に来ているとしましょう。

デッドロック2

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

デッドロック3

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

デッドロック4

あぁ、なんということでしょう。
ピヨ子さんがドリンクバーを取りに行っている間に、1巻が棚に戻され、それをピヨ太君が手にしてしまったのです。

デッドロック5

ここで問題です。

ピヨ太君、もしくはピヨ子さんが『ぴよぴよファンタジー』を読めるのは、いつになるでしょうか?

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

ピヨ太君は1巻を確保しつつ2巻が棚に戻るのを待っています。
ピヨ子さんは2巻を確保しつつ1巻が棚に戻るのを待っています。

どちらも、自分が確保している巻が原因で相手の動きを止めてしまっています。

デッドロック6

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

実際のデータの話で言えば、ファイル1のデータとファイル2のデータを同時に更新する必要があった場合(2つともロックする必要があった場合)で、ピヨ太プログラムがファイル1をロック、ピヨ子プログラムがファイル2をロックしてしまった場合などに起きます。

自分が動けないのが原因で相手が動けません。
でも自分が動けないのは相手が動けないのが原因です。
でも相手が動けないのは自分が原因です。
でも自分が動けないのは……のように延々と続く状態ですね。

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

image piyo2

一言でまとめるよ

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

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