![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
易(Master Yi)
这个作者很懒,什么都没留下…
展开
-
【JUC】3、ReentrantLock解析与面试题(一)
想深入学习ReentrantLock之前,建议先学AQS(AQS介绍可以戳这里)ReentrantLock详解1、带着问题学习2、介绍3、使用3.1 锁的简单使用3.2 锁的Condition使用示例4、源码解析4.1 属性4.2 重点方法介绍5、扩展5.1 面试题解答5.2 源码翻译全1、带着问题学习什么是可重入,什么是可重入锁? 它用来解决什么问题?ReentrantLock的核心是AQS,那么它怎么来实现的,继承吗? 说说其类内部结构关系。ReentrantLock是如何实现公平锁的? R原创 2020-08-23 19:08:57 · 1353 阅读 · 0 评论 -
【JUC】3、ReentrantLock源码详细中文注释 全(二)
本文是学习ReentrantLock期间记录的,按照惯例,源码翻译单独开一篇:说明:在阅读ReentrantLock源码的时候顺便翻译的,大部分用的google翻译,不太通顺的改成了自己的理解。一般能看懂的,就没改。/* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *//* * Written by Doug Lea with assistance from members of JCP JSR-166原创 2020-08-23 19:05:34 · 404 阅读 · 0 评论 -
【JUC】2、LockSupport 解析与面试题(一)
LockSupport 解析1、带着面试题学习2、介绍2.1、LockSupport类简介2.2、LockSupport使用场景2.3、LockSupport使用示例3、源码解析3.1 类属性3.2 类方法3.2.1 方法总览3.3 重点方法代码展开3.3.1 park3.3.2 unpark4、扩展4.1 UNSAFE.PARK 和 UNSAFE.UNPARK4.2 Thread.sleep、Object.wait、LockSupport.park 区别4.2.1 使用wait阻塞线程4.2.2 使用pa原创 2020-08-22 20:26:52 · 618 阅读 · 0 评论 -
【JUC】2、LockSupport 源码翻译全(二)
本文是学习LockSupport期间记录的,一篇文章发太多内容,编辑的时候很卡,所以独立开一篇LockSupport篇:https://blog.csdn.net/hhy107107/article/details/108041627说明:在阅读LockSupport源码的时候顺便翻译的,大部分用的google翻译,不太通顺的改成了自己的理解。一般还过得去的(基本能看懂的),就没改。/* * Written by Doug Lea with assistance from members of J原创 2020-08-22 20:25:33 · 336 阅读 · 0 评论 -
【JUC】1、Java AbstractQueuedSynchronizer - 源码翻译部分(三)
本文是学习AQS期间记录的,一篇文章发太多内容,编辑的时候很卡,所以独立开一篇AQS篇:https://blog.csdn.net/hhy107107/article/details/108041627说明:在阅读AQS源码的时候顺便翻译的,只翻译了部分,大部分用的google翻译,不太通顺的改成了自己的理解。一般还过得去的(基本能看懂的),就没改。/* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */原创 2020-08-16 21:14:30 · 237 阅读 · 0 评论 -
【JUC】1、Java AbstractQueuedSynchronizer - CLH部分(二)
本文是学习AQS期间记录的,一篇文章发太多内容,编辑的时候很卡,所以独立开一篇AQS篇:https://blog.csdn.net/hhy107107/article/details/108041627CLH介绍CLH是一种基于单向链表的高性能、公平的自旋锁。基于当前节点的前驱节点状态进行自旋(前驱节点如果处于加锁状态或等待状态,当前节点自旋;前驱节点未加锁状态,当前节点得到锁)前驱节点解锁后,当前节点会结束自旋,并进行加锁。要点:两个ThreadLocal变量,一个保存当前节点,一个保存前原创 2020-08-16 21:06:59 · 233 阅读 · 0 评论 -
【JUC】1、Java AbstractQueuedSynchronizer解析与面试题(一)
Java AbstractQueuedSynchronizer解析0、带着问题看源码:1、理论1.1 、简介1.2、设计1.2.1 CLH介绍1.2.2 与标准的CLH的区别:2、实践(基于AQS的互斥锁实现与队列图解)2.1、基于AQS的互斥锁实现2.2 图解代码3、AQS源码注释部分翻译0、带着问题看源码:d什么是AQS? 为什么它是核心?AQS的核心思想是什么? 它是怎么实现的? 底层数据结构等AQS有哪些核心的方法?AQS定义什么样的资源获取方式? AQS定义了两种资源获取方式:独占(原创 2020-08-16 21:01:31 · 575 阅读 · 0 评论