java 并发 (1):原子计数器
来源:互联网 发布:魔域帐号交易淘宝 编辑:程序博客网 时间:2024/05/24 01:43
package com.luairan.test;public class SynIncreaseInteger {private int num = 0;public int getIncreaseNum (){synchronized (this) {num++;}return num;}public static void main(String[] args) {SynIncreaseInteger ss=new SynIncreaseInteger();Tessst t=new Tessst(ss);new Thread(t).start();new Thread(t).start();new Thread(t).start();new Thread(t).start();new Thread(t).start();}}class Tessst implements Runnable {private SynIncreaseInteger increse=null;public Tessst (SynIncreaseInteger fastIncreaseInteger){this.increse=fastIncreaseInteger;}@Overridepublic void run() {while(true){System.out.println(increse.getIncreaseNum()+"\t\t :\t"+Thread.currentThread().getId());}} }
package com.luairan.test;import java.util.concurrent.atomic.AtomicInteger;public class FastIncreaseInteger {private AtomicInteger num =new AtomicInteger();public int getIncreaseInt(){while(true){int temp = num.get();int next = temp + 1;if(num.compareAndSet(temp, next)){return next ;}}}public static void main(String[] args) {FastIncreaseInteger ss=new FastIncreaseInteger();Tesst t=new Tesst(ss);new Thread(t).start();new Thread(t).start();new Thread(t).start();new Thread(t).start();new Thread(t).start();}} class Tesst implements Runnable {private FastIncreaseInteger increse=null;public Tesst (FastIncreaseInteger fastIncreaseInteger){this.increse=fastIncreaseInteger;}@Overridepublic void run() {while(true){System.out.println(increse.getIncreaseInt()+"\t\t :\t"+Thread.currentThread().getId());}} }
0 0
- java 并发 (1):原子计数器
- Redis原子计数器incr,防止并发请求
- java并发计数器问题
- java并发2.2-原子性
- java原子操作与并发
- java并发之原子性
- Java 原子操作与并发
- java并发-原子性
- 【Java并发编程】原子变量
- java原子性与并发
- Java并发之原子性
- Java并发编程1-原子性和可见性
- 类级别原子计数器
- 原子计数器 for Pthreads
- Java多线程/并发16、Atomic原子变量和原子操作
- 解决Java多线程并发的计数器问题
- java并发编程(一):计数器
- JAVA并发编程实践 原子性
- android开发之setFocusable()和 setFocusableInTouchMode()方法的区别
- 13.JavaWeb基础 监听器
- Interleaving String
- poj3461 Oulipo (KMP模板题~) 前面哪些也是模板题 O.O
- Laplace算子
- java 并发 (1):原子计数器
- 10道经典java编程笔试题
- 动态索引结构和索引更新机制
- 排序之冒泡排序--参考MoreWindows
- linux命令行学习-dig(DNS查询器)
- Qt- 绘制实时曲线
- 安装libvirt install libvirt
- [简单]Ibatis Error setting property Cause: java.lang.IllegalArgumentException错误记录
- hdu 4333 扩展KMP