在使用Python的Google App Engine上,我正在尋找競爭條件問題的解決方案,即多個用戶同時嘗試增加某個計數器。我發現其中兩個:transactions中描述的increment_counter()和compare-and-set中的bump_counter()。 我的問題:1)他們都完全解決了種族問題? 2)如果是這樣,哪一個更好?谷歌應用引擎:解決競爭條件?交易或比較和設置?
此外,有些機構可能會詳細闡述它們中的每一個,因爲我看不出代碼如何解決問題。例如,1)在increment_counter()事務期間,如果另一個用戶更新計數器,事務將會失敗? 2)類似地,在compare-and-set中的bump_counter()期間,如果另一個用戶更新計數器,client.cas()會失敗嗎?
想到了!非常感謝您的明確解釋。 – 2013-02-14 07:39:53