0
点赞
收藏
分享

微信扫一扫

玩转Java并发工具精通JUC成为并发多面手【15章完整版】 笔记汇总 模拟CAS操作,等价代码

玩转Java并发工具精通JUC成为并发多面手【15章完整版】 笔记汇总  


对Java并发常见的工具类进行从使用到原理的详解,

包括CAS+AQS+ThreadLocal+ConcurrentHashMap+线程池+各种锁+并发综合实战项目


下载: ​​Downlod​​  

提取码:9voy  


失效+\/❤:cowcow2100


package cas;

import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicIntegerArray;

/**
* 描述: 模拟CAS操作,等价代码
*/
public class TwoThreadsCompetition implements Runnable {

private volatile int value;

public synchronized int compareAndSwap(int expectedValue, int newValue) {
int oldValue = value;
if (oldValue == expectedValue) {
value = newValue;
}
return oldValue;
}

public static void main(String[] args) throws InterruptedException {
TwoThreadsCompetition r = new TwoThreadsCompetition();
r.value = 0;
Thread t1 = new Thread(r,"Thread 1");
Thread t2 = new Thread(r,"Thread 2");
t1.start();
t2.start();
t1.join();
t2.join();
System.out.println(r.value);
}

@Override
public void run() {
compareAndSwap(0, 1);
}
}


package cas;

/**
* 描述: 模拟CAS操作,等价代码
*/
public class SimulatedCAS {
private volatile int value;

public synchronized int compareAndSwap(int expectedValue, int newValue) {
int oldValue = value;
if (oldValue == expectedValue) {
value = newValue;
}
return oldValue;
}
}


玩转Java并发工具精通JUC成为并发多面手【15章完整版】 笔记汇总 模拟CAS操作,等价代码_ide玩转Java并发工具精通JUC成为并发多面手【15章完整版】 笔记汇总 模拟CAS操作,等价代码_java_02



下载: ​​Downlod​​  

提取码:9voy  


失效+\/❤:cowcow2100

举报

相关推荐

0 条评论