![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
ysxforever
此人不懒
展开
-
Java 条件等待和可重入锁实现生产者消费者工作过程
生产者消费者import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;import static java.lang.Thread.sleep;public class Main{ class Depository{ int macNum...原创 2020-04-17 17:00:06 · 156 阅读 · 0 评论 -
依赖AQS的ReentrantLock和CountDownLatch实现原理
CountDownLatch实现原理1.CountDownLatch在构造时传递的参数int值用来初始化 AQS的state值(其实是AQS的实现类Sync)2.一旦有一个线程调用await()就要去获取锁tryAcquireSharedNanos(), state不为0就获取不到. 所以入队等着3.只要有一个线程调用了countDown()就会使state-1(用CAS操作确定其原...原创 2020-04-09 09:16:19 · 336 阅读 · 0 评论