1.線程安全問題是指:多個線程同時操作同一個變量,導致變量實際值與理論值不一致具體體現爲:
a.如果是單個對象,可能出現變量實際值比理論值小(i++);
b.如果是集合對象,可能出現集合實際元素個數比理論元素個數少(ArrayList),可能出現集合內部出現死鎖(java8之前的HashMap)
2.線程安全問題是在多線程情況下才會發生的問題,單線程不會產生線程安全問題;
3.產生線程安全問題一定是多個線程共同操作同一個變量造成的;
4.產生線程安全問題的代碼的位置可稱爲臨界代碼,臨界代碼可能是一個語句,也可能是一個方法,分析、解決線程安全問題可以此爲出發點。