競爭條件

競爭條件指多個執行緒或者進程在讀寫一個共享數據時結果依賴於它們執行的相對時間的情形。

競爭條件發生在當多個進程或者執行緒在讀寫數據時,其最終的的結果依賴於多個進程的指令執行順序。
例如:考慮下面的例子
假設兩個進程P1和P2共享了變數a。在某一執行時刻,P1更新a為1,在另一時刻,P2更新a為2。
因此兩個任務競爭地寫變數a。在這個例子中,競爭的“失敗者”(最後更新的進程)決定了變數a的最終值。
多個進程並發訪問和操作同一數據且執行結果與訪問的特定順序有關,稱為競爭條件。

相關詞條

熱門詞條

聯絡我們