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); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。