[解決済み] デッドロックとライブロックの違いは何ですか?
2022-03-15 04:23:12
質問
とは何が違うのか、どなたか(コードの)例を挙げて説明していただけませんか? デッドロック と ライブロック ?
解決方法は?
引用元 http://en.wikipedia.org/wiki/Deadlock :
並行コンピューティングでは デッドロック は、アクションのグループの各メンバーが、他のメンバーがロックを解放するのを待っている状態です。
A ライブロック はデッドロックと似ています。 ただし ライブロックに関与しているプロセス 常に互いに変化している があり、何も進行しない。ライブロックは は、資源枯渇の特殊なケースです。 一般的な定義では 特定のプロセスが が進行している。
現実の例としては ライブロックは、2人の人間が出会ったときに発生します。 狭い廊下で、各自が工夫して をすることで、礼儀正しくすることができます。 を通過させるが、結局は 左右に揺れながら ので、何ら進展がない。 同じ方向への移動を繰り返す 同じタイミングで
ライブロックは 検出するアルゴリズムがあります。 デッドロックから回復する。複数の 1つのプロセスがアクションを起こすと、デッドロック 検出アルゴリズムが繰り返される可能性があります。 をトリガーする。これを避けるには 1つのプロセスだけが(選ばれた ランダムまたは優先順位によって)アクションを起こす。
関連
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] JavaにおけるRunnableインターフェースとCallableインターフェースの違いについて
-
[解決済み] タスクとスレッドの違いは何ですか?
-
[解決済み] スレッドは何本までならOK?
-
[解決済み】サーブレットはどのように動作するのですか?インスタンス化、セッション、共有変数とマルチスレッド
-
[解決済み】糸と繊維の違いは何ですか?
-
[解決済み】Invoke()とBeginInvoke()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java:notify()対notifyAll()の繰り返し
-
[解決済み] 技術的に、なぜErlangのプロセスはOSのスレッドよりも効率的なのですか?
-
[解決済み] ロックされていないミューテックスをロックすることは、どの程度効率的ですか?ミューテックスのコストは?
-
[解決済み] デッドロックとは何ですか?
-
[解決済み] マルチスレッドに代わるNode JSを把握する
-
[解決済み] スレッドコンテキストスイッチとプロセスコンテキストスイッチの比較
-
[解決済み] スレッドセーフとは何ですか?
-
[解決済み] 非同期とマルチスレッド - 違いはあるのか?
-
[解決済み] Powershellでコマンドを並列に実行することはできますか?
-
[解決済み] ノンブロッキングI/Oは、マルチスレッドのブロッキングI/Oより本当に速いのか?どのように?