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)>(2,2)
(1,1)>(1,1)錯誤。 012,(1,1)>(2,2)錯誤。
這兩個線程都在等待...
怎麼了?這是一個僵局嗎?
這是什麼意思:?(1,1)>(1,1) –
(A,b)< (C,d)...(A
user1091344