http://en.wikipedia.org/wiki/Lamport%27s_bakery_algorithmベーカリーアルゴリズム(デッドロック?)
私はこのアルゴリズムを理解するためにいくつかの問題を抱えています。現在のスレッドとスレッド、私はforループの瞬間を見ている場合はどうなります同じですか?
スレッド:0、1、2
スレッド1は、チケット1スレッド2は、チケット2スレッド0は何もしませんとりかかります。
アレイ= iは0、1、2
ラウンド1:
- スレッド1(J = 0):配列[0] = 0次回。
- スレッド2(j = 0):配列[0] = 0です。
ラウンド2:
- スレッド1(j = 1):配列[1] = 1(1,1)>(1,1)
- スレッド2(J = 1 ):配列[1] = 1.(1,1)>(2,2)
(1,1)>(1,1)間違っています。 (1,1)>(2,2)間違っています。
両方のスレッドが待機しています...
何が問題なのですか。これはデッドロックですか?
この意味は、(1,1)>(1,1)? –
(a、b)< (a
user1091344