多线程操作--AtomicInteger
来源:互联网 发布:企业号oa系统源码 编辑:程序博客网 时间:2024/05/16 17:52
主函数:
肯定出问题的代码A:
public static void main(String[] args) throws InterruptedException { final MultiThreadVolatile test = new MultiThreadVolatile(); ExecutorService executorService = Executors.newFixedThreadPool(150); for (int i =0 ; i < 100000; i++){ executorService.execute(new Runnable() { @Override public void run() { test.increase(); } }); } executorService.shutdown(); executorService.awaitTermination(100*1000, TimeUnit.DAYS); System.out.println(test.getCount()); }
能正确运行的代码,每次结果都是100000:
public class MultiThreadVolatile { private AtomicInteger count = new AtomicInteger(0); public int getCount(){ return count.get(); } public void increase(){ count.incrementAndGet(); }}
肯定出问题的代码A:
public class MultiThreadVolatile { private Integer count = 0; public int getCount(){ return count; } public void increase(){ count++; }}
public class MultiThreadVolatile { private volatile Integer count = 0; public int getCount(){ return count; } public void increase(){ count++; }}
阅读全文
0 0
- 多线程操作--AtomicInteger
- volatile AtomicInteger java多线程操作 原子性
- 【Java多线程】AtomicInteger使用
- 多线程(七):AtomicInteger
- 原子操作 AtomicInteger
- 多线程之AtomicInteger的使用
- java 多线程 AtomicInteger原子变量
- 测试AtomicInteger与普通int值在多线程下的递增操作
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- AtomicInteger
- 【Python学习系列二十八】绘图库pyecharts
- Linux下线程同步问题中的互斥锁和条件变量
- 微信小程序学习笔记(一)——css小技巧
- Java并发编程实战(学习笔记四 第五章 基础构建模块 上)
- 嵌入式系统调试手段及方法综述
- 多线程操作--AtomicInteger
- Jsp中连接数据库写sql查询
- poj 2528
- echarts 好看的柱状图样式
- Tensorflow学习笔记(5)-网络结构的构建
- LabVIEW使用Excel 2007时错误
- CSS 选择符有哪些
- 支招:程序员网络求职如何防骗
- CSS-浮动&清除浮动