線程安全老是與多線程有關的,即一個線程訪問或維護數據時遭到了其它線程的「破壞」,爲了避免被破壞,就要保持所維護變量的原子性:java
1 局部變量老是線程安全的,由於每一個線程都有本身的棧,而在方法中聲明的變量都是放在棧中,用完即被釋放內存。安全
2 使用傳統的多線程關鍵字synchronized,加在非靜態方法上意即同一對象在該方法上是線程安全的;加在靜態方法上,整個類在該方法上都是安全的。多線程
3 使用java.util.concurrent.atomic。atom