18.模拟 CAS 算法
来源:互联网 发布:136书屋下载软件 编辑:程序博客网 时间:2024/06/07 17:46
public class TestCompareAndSwap {public static void main(String[] args) {final CompareAndSwap cas = new CompareAndSwap();for(int i = 0;i<10;i++){new Thread(new Runnable() {public void run() {int expectedValue = cas.get();boolean bo = cas.compareAndSet(expectedValue, (int)Math.random()*101);System.out.println(bo);}}).start();}}}class CompareAndSwap{private int value;//获取内存值public synchronized int get(){return value;}//比较public synchronized int compareAndSwap(int expectedValue,int newValue){int oldValue = value;if(oldValue == expectedValue){this.value = newValue;}return oldValue;}//设置值public synchronized boolean compareAndSet(int expectedValue,int newValue){return expectedValue == compareAndSwap(expectedValue, newValue);}}
输出结果:
truetruetruetruetruetruetruetruetruetrue
0 0
- 18.模拟 CAS 算法
- 模拟CAS算法
- JAVA线程并发性之CAS算法,模拟实现代码
- JAVA模拟CAS
- Java模拟CAS的实现
- CAS乐观锁算法
- 原子变量&&CAS算法
- 【Java多线程】CAS算法
- CAS算法(一)
- CAS算法原理分析
- 原子变量CAS算法
- cas-单点登录逻辑模拟学习
- java无锁算法CAS
- 原子变量和CAS算法
- 17.原子变量 CAS算法
- 对cas算法的理解
- 并发编程中的CAS算法
- 深入理解CAS算法原理
- 求x!中v素因子的个数
- tomcat优化
- effect C++ 复制对象时勿忘其每一个成分
- 素数分解
- 设计模式笔记(java版)
- 18.模拟 CAS 算法
- 1006. Sign In and Sign Out (25)
- 1017 乘积最大
- 基于UDP的同步聊天(无界面实现)
- 素数筛
- 实时零相位滤波的神话(1)
- edit限制输入身份证号
- Windows下使用Sublime Text 3调试/运行 C/C++ 程序
- MySQL笔记-trigger与index