天天看點

線程安全與線程不安全1、線程安全:2、線程不安全:3、引起線程安全問題的原因:4、舉例說明:

1、線程安全:

指多個線程在執行同一段代碼的時候采用加鎖機制,使每次的執行結果和單線程執行的結果都是一樣的,不存在執行程式時出現意外結果。

2、線程不安全:

是指不提供加鎖機制保護,有可能出現多個線程先後更改資料造成所得到的資料是髒資料。

3、引起線程安全問題的原因:

線程安全問題都是由全局變量及靜态變量引起的。

若每個線程中對全局變量、靜态變量隻有讀操作,而無寫操作,一般來說,這個全局變量是線程安全的;若有多個線程同時執行寫操作,一般都需要考慮線程同步,否則的話就可能影響線程安全。

4、舉例說明:

假設售票系統有1000張票,A和B同時來買票,如果是線程不安全,那麼可能售票系統可能出現1000-1去同時執行的情況,最終結果是A和B都買完後剩下999張票,而不是998張。

線程安全與線程不安全1、線程安全:2、線程不安全:3、引起線程安全問題的原因:4、舉例說明: