import java.util.concurrent.atomic.AtomicInteger; /** * AtomicInteger的使用 */ public class TestAtomic { public static void main(String[] args) { OperationData operationData = new OperationData(); for (int i = 0; i < 20; i++) { new Thread(() -> { for (int j = 0; j < 1000; j++) { operationData.addCount(); operationData.addAtomic(); } }).start(); } //需要等new的20个线程执行结束 while (Thread.activeCount() > 2) { Thread.yield(); } System.out.println("非原子的++结果:" + operationData.count); System.out.println("原子的++结果:" + operationData.atomicInteger); } } class OperationData { static volatile int count = 0; static AtomicInteger atomicInteger = new AtomicInteger(); public void addCount() { count++; } public void addAtomic() { atomicInteger.getAndIncrement(); } }
AtomicInteger的使用
最新推荐文章于 2024-06-04 11:17:03 发布