Java并发编程之变量需注意哪些事项呢?
下文讲述java中并发编程中需注意事项,如下所示:
以下a变量
并发编程一般需注意线程安全:
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);
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


