轉自:http://www.java265.com/JavaJingYan/202110/16349834021556.html
下文講述java中并發程式設計中需注意事項,如下所示:
并發程式設計一般需注意線程安全:
1.注意共享變量
共享變量可供多個線程同時通路
2.注意可變變量
例:
以下a變量
//線程不安全的類
public class UnsafeCount {
private int a = 0; //該變量是共享的
public void increase() { //這裡沒有同步機制,多個線程可以同時通路
a++; //該變量是可變的
}
public int getA() {
return a;
}
}
下面有4種方式可修複
1.不線上程中共享變量,将變量變為非共享
public int add(int a){
return ++a;
}
2.将狀态變量修改為不可變的變量。
private final int a = 0;
3.使用同步代碼塊
public synchronized void increase() {
a++;
}
4.使用原子變量類
private AtomicInteger a;
public void increase() {
a.getAndAdd(1);
}