AtomicInteger类的理解与使用
首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下:
public class Sample1 {
private static Integer count = 0;
synchronized public static void increment() {
count++;
}
}
以下是AtomicInteger的:
public class Sample2 {
private static AtomicInteger count = new AtomicInteger(0);
public static void increment() {
count.getAndIncrement();
}
}
以上两段代码,在使用Integer的时候,必须加上synchronized保证不会出现并发线程同时访问的情况,而在AtomicInteger中却不用加上synchronized,在这里AtomicInteger是提供原子操作的