并发
文章平均质量分 94
并发
Wuv1Up
这个作者很懒,什么都没留下…
展开
-
剖析AQS后,决定手写一个可重入锁
文章目录基本概念介绍结束语 基本概念介绍 可重入锁, 表示同一个线程可重复对某个资源进行上锁. 同时它也是独占锁, 表示任一时刻当且仅当最多有一个线程占用. 下面自己写个不可重入锁举例. // 在Java中, 可以很好的设计一种不可重入锁. class NonReentrantLock { private volatile boolean isLock; priva...原创 2020-04-26 13:46:20 · 299 阅读 · 0 评论 -
干货! Semaphore详解,非常深入
文章目录Semaphore - 信号量Semaphore获取锁流程acquire 方法doAcquireSharedInterruptibly 方法获取锁流程总结Semaphore释放锁流程releaseShared 方法tryReleaseShared 方法doReleaseShared 方法释放锁总结图解Semaphore结束语 Semaphore - 信号量 Semaphore在构造的时候,...原创 2020-04-22 21:14:30 · 2520 阅读 · 0 评论 -
通过CounDownLatch的源码,来了解AQS的共享锁
文章目录CountDownLatch获取共享锁acquireShared方法doAcquireShared方法释放共享锁releaseShared方法doReleaseShared方法深入CountDownLatch结束语 点击了解AbstractQueuedSynchronizer CountDownLatch CountDownLatch的使用很简单, 构造CountDownLatch时需要传...原创 2020-04-20 19:33:53 · 207 阅读 · 0 评论 -
通过源码了解AQS
文章目录AQS介绍双向链表介绍获取独占锁acquire方法acquireQueued方法shouldParkAfterFailedAcquire方法释放独占锁release方法unparkSuccessor方法独占锁内部状态图解总结 AQS介绍 AbstractQueuedSynchronizer,简称AQS, 提供了一种实现同步器的框架. 该框架提供可以阻塞的加锁和释放锁. 其底层依赖FIFO双...原创 2020-04-18 17:47:49 · 561 阅读 · 0 评论 -
关于LockSupport,你应该知道这些
文章目录初步了解了解代码park 一类APIunpark 一类API使用示例分析lock方法分析unlock方法总结 提示: 关于 interrupt 你应该了解这些. 若不了解 interrupt 可以点击查看了解. 初步了解 LockSupport的功能是使线程进行"驻留", 也就是让线程停止工作. 线程暂停的状态如下: BLOCKED WAITING TIMED_WAITING 但是...原创 2020-04-16 15:00:01 · 349 阅读 · 0 评论