競爭危害 (race hazard) 又名競態條件 (race condition)。旨在描述一個系統或者進程的輸出展現無法預測的、對事件間相對時間的排列順序的致命相依性。
基本介紹
- 中文名:競爭危害
- 外文名:race hazard
- 別名:競態條件
- 常見於:不良設計的電子系統
簡介,實例,並發控制,
簡介
網路上,競爭危害會在多用戶同時試圖訪問同一個可用訊息通道時產生。再系統同意訪問前沒有計算機能得到訊息通道被占用的提醒。統計上說這種情況通常發生在極端長延遲時間的網路里,譬如地球同步衛星。解決之道是用戶於先預產生優先權列表。然而黑客可以利用這種競爭危害取得非法訪問網路的權利。
競爭冒險(race hazard)又名競態條件、競爭條件(race condition),它旨在描述一個系統或者進程的輸出依賴於不受控制的事件出現順序或者出現時機。此詞源自於兩個信號試著彼此競爭,來影響誰先輸出。
實例
並發控制
- 現有兩處火車票售票點,同時讀取某一趟列車車票資料庫中車票餘額為 X。兩處售票點同時賣出一張車票,同時修改餘額為 X -1寫回資料庫,這樣就造成了實際賣出兩張火車票而資料庫中的記錄卻只少了一張。
產生這種情況的原因是因為兩個事務讀入同一數據並同時修改,其中一個事務提交的結果破壞了另一個事務提交的結果,導致其數據的修改被丟失,破壞了事務的隔離性。並發控制要解決的就是這類問題。