競態條件和死鎖.如果兩個或多個線程訪問相同的對象,或者訪問不同步的共享狀態,就會出現競態條件.為了避免出現該問題,可以鎖定共享的對象.但是過多的鎖定也會有麻煩,那就是死鎖.當至少有兩個線程被掛起,等待對方解除鎖定.由於兩個線程都在等待對方,就出現了死鎖,線程將無限等下去.要避免同步問題,最好不要在線程之間共享數據.當然,這並不總是可行的.如果需要共享數據,就必須使用同步技術,確保一次只有一個線程訪問和改變共享狀態.注意,同步問題與競態條件和死鎖有關.如果不注意這些問題,就很難在應用程式中找到問題的原因,因為線程問題是不定期發生的.你還是好好的去看看這方面的書吧.《c#高級編程》之類的書里都講的比較詳細。
競態條件:如何避免出現競態條件[朗讀]
@glad14
頂0
加入收藏
相關問答推薦