多线程--原子类理解
来源:互联网 发布:手机移动数据自动开启 编辑:程序博客网 时间:2024/05/21 01:28
package cn.stu;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.atomic.AtomicInteger;public class Main {public static AtomicInteger index = new AtomicInteger(0);public static int count; public static void main(String[] args) throws InterruptedException { final CountDownLatch latch = new CountDownLatch(10000); ExecutorService service = Executors.newFixedThreadPool(10000);for(int i = 0; i<10000;i++){ service.submit(new Runnable() {@Overridepublic void run() { // 使用非阻塞算法来实现并发控制。 // 如果我们用 Lock的形式需要的还是阻塞式来处理,一条线程形式来一次加1的模式。 index.getAndIncrement(); count++; latch.countDown();}});}latch.await(); System.out.println("运行结果:---->"+index.intValue()+"-----普通数据--->"+count); service.shutdown();}}
运行结果:
运行结果:---->10000-----普通数据--->9996
前面的10000是不会改变的。 后面的9996会进行改变。
0 0
- 多线程--原子类理解
- java多线程--原子类
- java 多线程 原子类
- 【Java多线程】原子类
- java--多线程--原子类变量
- Java多线程系列--【JUC原子类01】- AtomicLong原子类
- Java多线程系列--【JUC原子类02】- AtomicLongArray原子类
- Java多线程系列--【JUC原子类03】- AtomicReference原子类
- Java多线程系列--【JUC原子类04】- AtomicLongFieldUpdater原子类
- AtomicIntegerFieldUpdater多线程原子类的使用
- JAVA多线程之JUC原子类
- Java多线程系列--“JUC原子类”
- JAVA CAS 原子类及多线程总结
- java多线程学习之原子类
- 2.3.5多线程和原子类
- 2.3.6多线程和原子类
- Java多线程系列--“JUC原子类”02之 AtomicLong原子类
- Java多线程系列--“JUC原子类”03之 AtomicLongArray原子类
- ANR机制以及问题分析
- [iOS UItableView 自定义Section] 自定义Section 修改title样式
- Android高效加载大图、多图解决方案,有效避免程序OOM
- Spring mvc 自定义时间转换器
- textArea没有value 属性 如何显示
- 多线程--原子类理解
- PHP自定义概率的方法(原创)
- 如何将数据转换libsvm格式文件
- 算法分析——Hanoi塔问题(还是写不出来啊!)
- AAAAAAA
- CI框架源码解析十三之语言类文件Lang.php
- VC获取当前运行目录
- 八大排序学习之一冒泡排序
- ViewPager +Fragment 中Fragment被预加载问题(ViewPager中Fragment的生命周期管理)