java并发编程(一):计数器
来源:互联网 发布:反淘宝 编辑:程序博客网 时间:2024/05/29 15:16
买了一本《java并发编程的艺术 》,开启学习并发编程之路。
根据jdk提供的原生的原子变量计数。
package test201603;import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicInteger;/** * 计数器 */public class Counter { private AtomicInteger atomicI = new AtomicInteger(0); public static void main(String[] args) { final Counter cas = new Counter(); List<Thread> ts = new ArrayList<Thread>(600); for (int j = 0; j < 100; j++) { Thread t = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 10000; i++) { cas.safeCount(); } } }); ts.add(t); } //开启所有线程 for (Thread t : ts) { t.start(); } // 等待所有线程执行完成 for (Thread t : ts) { try { t.join(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(cas.atomicI.get()); } /** * 使用CAS实现线程安全计数器 */ private void safeCount() { for (;;) { int i = atomicI.get(); boolean suc = atomicI.compareAndSet(i, ++i); if (suc) { break; } } }}
0 0
- java并发编程(一):计数器
- java并发编程(一)
- Java并发编程(一)
- 深谈多并发计数器CountDownLatch(一)
- [JAVA] 并发编程一
- JAVA 并发编程一
- java并发计数器问题
- Java并发编程(一):并发编程的挑战
- java并发编程(一)-并发编程需要注意问题
- JAVA并发编程-障碍器CyclicBarrier,计数器CountDownLatch,信号量Semaphore
- Java并发编程系列(一):Java并发内存模型
- Java并发编程-概念(一)
- Java并发编程实践读书笔记(一)
- Java并发编程实践笔记(一)
- java并发编程(一)线程安全性
- Java 并发编程框架(一)
- java并发编程(一)-线程池
- 《JAVA并发编程实践》读书笔记(一)
- map::erase的使用
- PAT-Shuffling Machine (20)
- AJAX学习笔记
- 页面增加定时器
- GitHub Top 100的Android开源库
- java并发编程(一):计数器
- 时域反射计TDR原理
- Matlab提示Could not find the compiler cl on the DOS path
- IOS三种传值方式
- HDOj1016 Prime Ring Problem
- 碎片的最佳实践——一个简易版的新闻应用
- ViewPager+Fragment 常使用懒加载
- C#中冒泡排序和比较排序
- 启动tomcat报,这个怎么弄啊,我这包不冲突