
Java 并发艺术
高国藩
这个作者很懒,什么都没留下…
展开
-
AbstractQueuedSynchronizer 源码解毒
前言 队列同步器 AbstractQueuedSynchronizer(以下简称 AQS),是用来构建锁或者其他同步组件的基础框架。它使用一个 int 成员变量来表示同步状态,通过 CAS 操作对同步状态进行修改,确保状态的改变是安全的。通过内置的 FIFO (First In First Out)队列来完成资源获取线程的排队工作。更多关于 Java 多线程的文章可以转到 这里 AQS 和...原创 2018-10-24 15:23:55 · 242 阅读 · 0 评论 -
ReentrantLock 源码解毒
一、前言 在分析了AbstractQueuedSynchronier源码后,接着分析ReentrantLock源码,其实在AbstractQueuedSynchronizer的分析中,已经提到过ReentrantLock,ReentrantLock表示下面具体分析ReentrantLock源码。 二、ReentrantLock数据结构 ReentrantLock的底层是借助Abstr...原创 2018-10-24 15:27:59 · 238 阅读 · 0 评论 -
UnSafe 源码解毒
java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 1、通过Unsafe类可以分配内存,可以释放内存; 类中提供的3个本地方法allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应。 2、可以定位对象某字段的内存位置,也可以修改对象的...原创 2018-10-24 15:32:16 · 742 阅读 · 0 评论