ドアロックに採用されている機構で、ドアロックが、完全にブロックされるもの。ウインドウガラスを砕いてもドアは内側からも外側からも開けることができない。ドアロックをまわしても解錠されずドアロックの操作は不可能になる。サーブに採用されている盗難防止機構。
(deadlock から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/01/05 06:12 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2021年9月)
|
デッドロック(英: deadlock)とは、複数の処理単位が互いの終了を待ち続け、結果としてどの処理も進まないことである。
また、合弁契約書などにおいてパートナーと利害関係がぶつかるような問題が生じた場合の解決方法を定めた条項を「デッドロック条項(Deadlock Clause)」と言う。 英語ではもともと行き詰まりの意味である。
古い文献では、デッドロックのことをチェス用語と同様のステイルメイトと呼称して説明をしている場合がある[1]。
基本的にデッドロックは資源数が2以上の場合に発生する(たとえばクリティカルセクションが1つあれば資源は1つと数えられる。2つのクリティカルセクションがあれば資源数は2である)。資源数が1の場合、セマフォ等はバイナリセマフォとなり、振る舞いはミューテックスと同じになるのでデッドロックは発生しない(ライブロックする。これを回避する方法は数多く考案されており、たとえばCSMA/CDでは乱数を用いて回避する)。
資源数を1にすることは、デッドロックを回避する根本的な解決方法であるが、その場合プログラムの並列性は著しく損なわれるため、現代のコンピュータープログラミングにおいて現実的な手段とは言えない。資源を多数用い、なおかつデッドロックを回避する手段については以下に述べる。
クリティカルセクションで排他制御を用いた場合の例をあげる。 変数Aと変数Bの2つのデータと、BにAの値を加算し、Aを0にする処理AとAにBの値を加算し、Bを0にする処理Bの2つの処理があったとする。マルチスレッドで処理をするため変数Aと変数BにアクセスするためのクリティカルセクションA(以下CSA)とクリティカルセクションB(以下CSB)の2つのクリティカルセクションを用意する。
処理Aは以下の手順であるとする。
また同様に処理Bは以下の手順であるとする。
この場合は以下のようにプログラムが動作するとデッドロックが発生する。 処理Aを実行するスレッドAが生成され、処理が開始する。処理Aの1でCSAに入った直後にコンテキストスイッチが発生し、処理Bを実行するスレッドBが生成され、処理Bの1でCSBに入る。そして再びコンテキストスイッチが発生しスレッドAがアクティブになり、2でCSBに入ろうと試みる。しかし、スレッドBが既にCSBに入っているためスレッドAは待機状態に入り、スレッドBがアクティブになる。スレッドBは同じく2でCSAに入ろうと試みるがスレッドAが既にCSAに入っているためスレッドBは待機状態に入ってしまう。
こうして両方のスレッドが待機状態になり、プログラムが停止してしまう。この状態がデッドロックである。
以上の処理を時間に沿ってまとめたものが以下の表である。
| スレッドA | スレッドB | CSAの所有者 | CSBの所有者 |
|---|---|---|---|
| スレッド発生 | |||
| 処理Aを開始 | |||
| CSAに入る | スレッドA | ||
| コンテキストスイッチ A→B | |||
| 待機 | スレッド発生 | ||
| 処理Bを開始 | |||
| CSBに入る | スレッドB | ||
| コンテキストスイッチ B→A | |||
| CSBへ入ることに失敗 | 待機 | ||
| コンテキストスイッチ A→B | |||
| CSBの解放を待機 | CSAへ入ることに失敗 | ||
| CSAの解放を待機 | |||
| デッドロックの発生 | |||
以上のようなデッドロックを回避するには以下のような方法がある。
他にも様々な回避方法が存在する。
優先度上限プロトコル機能が拡張されたミューテックスを利用することでも、デッドロックを回避することが可能である。優先度上限プロトコルは組み込みシステムで主に使われ、使うことで効果があるプログラムも限定的であり、汎用的に使える方法ではない。
オブジェクト指向プログラミングでは、クラス間の依存関係を単方向にし、クラス間の依存関係の構造が階層構造になるように設計するのが、必須ではないものの定石である。en:Hierarchy (object-oriented programming)。ここでは、独立している方を下と定義する。つまり、上の階層のクラスは、下の階層のクラスについて知っている。下の階層のクラスは、上の階層のクラスについて知らない。上の階層のクラスから、下の階層のクラスへの呼び出しは、普通のメソッド呼び出しで行う。下の階層から、上の階層に戻すときは、Observerパターンを使う。階層構造をとる軍隊にたとえると、メソッド呼び出しが上官からの命令であり、Observerパターンが部下から上官への報告である。
そして、デッドロックを回避するには、ロックをかけるオブジェクトのクラスの順番を統一するというのが一つの方法である。そして、クラスの依存関係が階層構造になっているときは、必ず、上の階層のクラスから順番にロックをかけるということで統一する。そうすると、上の階層でロックをかけたまま、下の階層のオブジェクトのメソッドを呼び出すことが可能になる。軍隊の比喩でいうと、上官が部下よりも先にリソースを独占する。
また、Observerパターンで上の階層に戻す場合は、自分のかけているロックを全て解放してから、上の階層に戻す。そうすることにより、「下の階層でロック→上の階層でロック」の発生を防げる。また、同じ階層同士ではロックをかけない。それが必要な場合は、上の階層でロックをかける。こうすることにより、デッドロックを回避できる。
Lock-freeとWait-freeアルゴリズムでもデッドロックを回避できる。
日本の兵庫県加古川市加古川町の兵庫県道148号線の道中と、長野県塩尻市広丘の国道19号線と並行に走る生活道路には4方向に止まれ標識がある十字路がある。3方向に同時に車両が来た場合については、道路交通法第36条で、交差点中心を見て左側の車両を優先的に通過させるよう定められている。しかしながら、4方向に同時に車両が来た場合について明確な定めはない。なお、兵庫県警察は同件の取材者に対し、身振り手振りで意思疎通し、徐行しながら通り過ぎることを推奨する見解を提示している。 [2]
{{cite news}}: |title=は必須です。 (説明)⚠⚠
(deadlock から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/03/04 13:29 UTC 版)
| デッドロック Deadlock |
|
|---|---|
|
ドイツ・バレンシュテット公演 (2016年7月)
|
|
| 基本情報 | |
| 出身地 | バイエルン州 シュヴァルツェンフェルト |
| ジャンル | メロディックデスメタル メタルコア パワーメタル オルタナティヴ・メタル グルーヴ・メタル |
| 活動期間 | 1997年 - 現在 |
| レーベル | ウィンター・レコード ライフフォース・レコード ナパーム・レコード サウンドホリック アヴァロン・レーベル |
| 公式サイト | xdeadlockx.com |
| メンバー | |
| 旧メンバー | |
デッドロック (DEADLOCK) は、ドイツ出身のメロディックデスメタル・バンド。
1997年に結成。メンバーは、ヴィーガンで、ストレート・エッジを標榜していた。
1997年にトビアス・グラフ(Ds)、セバスチャン・レイチェル(G)、ヨハネス・プレム(Vo)、マイク(B)が出会い、バンドのメンバーを集めた。1998年の終わりにベーシストがマイクからハンス・ゲオルク・バートマンに代わり、デッドロックの初期のラインナップが完成する。
1999年に『7" vinyl』を自主制作でリリースした。ウィンター・レコーディングスは、このバンドに将来性があると考え、2000年に『I'll Wake You, When Spring Awakes』をリリースした。
その後、トーマス・グシュベンドナー(G)が加入し、ハンス・ゲオルク・バートマン(B)からトーマス・ハウシュカ(B)にチェンジし、2人の新メンバーが加わる。
2002年にデビュー・フル・アルバム『The Arrival』をリリースした。後に正式メンバーとなるザビーネ・ヴェーニガーは、このアルバムの何曲かでキーボードとクリーン・ヴォーカルを担当していた。
同年、バンドに新メンバーを迎え、『Six Reasons To Kill』をウィンター・レコーディングスよりスプリットCDとしてリリースした。作り込んだオーケストラ・アレンジを加えてサウンドを発展させ、ツイン・ギターのメロディーとキーボードと女性ボーカルを加え、骨太なサウンドを完成させた。
その後トーマス・グシュベンドナー(G)からゲルト・レイメン(G)にチェンジ。
2004年後半、バンドはライフフォース・レコードに移籍した。デッドロックは「このレーベル移籍によってデッドロックの音楽とメッセージは支援され、完璧なパートナーを得た」としている。長期間に及ぶ作曲活動とレコーディング後、2005年6月にアルバムが完成し、3rdアルバム『Earth Revolt』をリリースした。
2007年に4thアルバム『Wolves』をリリース。このアルバムから、ザビーネ・ヴェーニガー(Vo)が正式加入した。このアルバムは、日本でもサウンドホリックからリリースされ、日本デビューを果たした。
2008年に5thアルバム『Manifesto』をリリースした。その後、ベーシストがトーマス・ハウシュカからジョン・ガーレルトに交代している。
2011年に6thアルバム『Bizzaro World』をリリース。日本では、アヴァロン・レーベルからのリリースとなった。また、同アルバムからザビーネ・ヴェーニガー(Vo)が、ザビーネ・シェラーと名乗るようになった。同年、11月に結成当初からのメンバーであったヨハネス・プレム(Vo)が脱退。代わりにDeadlockではベーシストとして活動していたジョン・ガーレトがボーカルに転向し、空いたベーシストの枠に今までバンドのローディをしていたフェルディナンド・レヴァイキーが加入した。
2013年2月、ゲルト・レイメン(G)が脱退[2]。その後、フェルディナンド・レヴァイキー(B)がギターに転向した。正式ベーシストは補充されていない。同年、7thアルバム『The Arsonist』をリリース。
2014年5月、結成メンバーのトビアス・グラフ(Ds)が脱退し、ヴェルナー・リエドル(Ds)が加入[3]。この交代により、オリジナルメンバーは、セバスチャン・レイチェル(G)のみとなった。同年9月、トビアス・グラフが同年9月2日に癌により死去したことが発表された[4]。
2016年4月、ザビーネ・シェラー(Vo)が脱退し、マルギ―・ゲルリッツ(Vo)が加入した[5]。同年に8thアルバム『Hybris』をリリース。リリース後に活動が停滞、2024年にシングル曲『Blackest Black』を公開したが、この時点でメンバーはセバスチャン・レイチェル (G)とサビーネ・シェラー (Vo)の2名となっていた[6]。
結成当初は、完全なストレート・エッジバンドにしようと考えたが、その後、度重なるメンバーチェンジで完全なストレート・エッジバンドではなくなった。それでもなお、結成当初からのメンバーは、今でもストレート・エッジを貫いている
メンバーは全員、肉、魚、卵、乳製品を一切食さないヴィーガンである。例えば、動物愛護を背景とした畜産業への批判をモチーフにした曲なども存在し、その思想は歌詞にも表れている。