令和元年 秋期 午前 問29
たにさん
(No.1)
URL
https://www.fe-siken.com/s/kakomon/01_aki/q29.html
解説を読んだのですが、ウの解説3でAがXの専有ロックを要求し待ち状態となった後
問題の図にある③でYに対する専有ロックを要求していますが、なぜここでデッドロックにならないのでしょうか?
この時点でTAとTBの両方が待ち状態となるように思うのですが
解説では「双方のトランザクションで資源の専有順序が同じ場合にはデッドロックが発生しない」と書かれていますがいまいち納得できません
https://www.fe-siken.com/s/kakomon/01_aki/q29.html
解説を読んだのですが、ウの解説3でAがXの専有ロックを要求し待ち状態となった後
問題の図にある③でYに対する専有ロックを要求していますが、なぜここでデッドロックにならないのでしょうか?
この時点でTAとTBの両方が待ち状態となるように思うのですが
解説では「双方のトランザクションで資源の専有順序が同じ場合にはデッドロックが発生しない」と書かれていますがいまいち納得できません
2020.03.21 06:52
管理人
(No.2)
TAは資源Xを更新するため待ち状態になっておりトランザクションの進行が停止しているので、TA側の updateY が実行されることはありません。一方、TB側は待ち状態になっていないので X→Y→Z と専有ロックできます。
2020.03.21 10:10
QMさん
★FE ゴールドマイスター
(No.3)
待ち状態の間は、次に進めないから、ですね。
TAはXが解除されるのを待つ間、YやZへの要求には進めません。
その間にTBがY, Zへと進みます。
占有順序が同じなら、最初の要求を早い者勝ちで取った方が、相手を待たせて残りを完遂できます。
順序が違うと、先の処理を取られてしまうので、デッドロックが起きます。
管理人様
よく見るとイの7.の説明が、「TBが占有ロック中」とありますが、「TA」に修正お願いします。
TAはXが解除されるのを待つ間、YやZへの要求には進めません。
その間にTBがY, Zへと進みます。
占有順序が同じなら、最初の要求を早い者勝ちで取った方が、相手を待たせて残りを完遂できます。
順序が違うと、先の処理を取られてしまうので、デッドロックが起きます。
管理人様
よく見るとイの7.の説明が、「TBが占有ロック中」とありますが、「TA」に修正お願いします。
2020.03.21 10:17
管理人
(No.4)
QMさん ご指摘ありがとうございます。
「イ」の7番目の解説文を訂正いたしました。
「イ」の7番目の解説文を訂正いたしました。
2020.03.21 10:20
たにさん
(No.5)
お二人ともいつもありがとうございますm(__)m
わかりやすい説明のおかげでスッキリしました
わかりやすい説明のおかげでスッキリしました
2020.03.22 08:50
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告