認識線程安全問題(以java爲例)

1.線程安全問題是指:多個線程同時操作同一個變量,導致變量實際值與理論值不一致具體體現爲:

        a.如果是單個對象,可能出現變量實際值比理論值小(i++);

        b.如果是集合對象,可能出現集合實際元素個數比理論元素個數少(ArrayList),可能出現集合內部出現死鎖(java8之前的HashMap)

2.線程安全問題是在多線程情況下才會發生的問題,單線程不會產生線程安全問題;

3.產生線程安全問題一定是多個線程共同操作同一個變量造成的;

4.產生線程安全問題的代碼的位置可稱爲臨界代碼,臨界代碼可能是一個語句,也可能是一個方法,分析、解決線程安全問題可以此爲出發點。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章