首页
Java面试
PHP面试
经验笔记
在线工具
首页
在线工具
Java中的CAS机制,如何解决ABA问题
synchronized悲观锁例子
C语言 在线运行
C++ 在线运行
Java 在线运行
PHP 在线运行
Python 在线运行
Python3 在线运行
Nodejs 在线运行
Ruby 在线运行
Perl 在线运行
Go 在线运行
R语言 在线运行
Lua 在线运行
C# 在线运行
结果显示HTML
清空
点击运行
import java.util.Date; import java.util.concurrent.atomic.AtomicInteger; public class CASExample2 extends Thread { public static int count = 0; public static long getTimeStamp(){ Date date = new Date(); long timestamp = date.getTime();//返回13位时间戳 return timestamp; } //public static AtomicInteger count = new AtomicInteger(); @Override public void run() { //循环的次数得设置大一些 System.out.println(); long time1 = getTimeStamp(); for (int i=0; i<10000; i++) { synchronized(CASExample2.class){ count++; } //count.incrementAndGet(); } long time2 = getTimeStamp(); System.out.println("线程 " + Thread.currentThread().getName() + ",时间差值 "+(time2-time1)); } public static void main(String[] args) throws InterruptedException { CASExample2 task1 = new CASExample2(); CASExample2 task2 = new CASExample2(); task1.start(); task2.start(); Thread.sleep(2*1000); System.out.println(count); } }
运行结果
synchronized悲观锁例子在线测试,这是一个简单方便的Java在线运行工具,支持在线编译、在线调试和在线结果的实时反馈。