chenssy
致力打造Java精品博客站点

java并发编程

【Java并发编程实战】—– AQS(四):CLH同步队列

chenssy阅读(1333)评论(1)

在【Java并发编程实战】—–“J.U.C”:CLH队列锁提过,AQS里面的CLH队列是CLH同步锁的一种变形。其主要从两方面进行了改造:节点的结构与节点等待机制。在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队列、...

【Java并发编程实战】—–“J.U.C”:CLH队列锁

chenssy阅读(2486)评论(3)

在前面介绍的几篇博客中总是提到CLH队列,在AQS中CLH队列是维护一组线程的严格按照FIFO的队列。他能够确保无饥饿,严格的先来先服务的公平性。下图是CLH队列节点的示意图: 在CLH队列的节点QNode中包含有一个locked的字段,该...

【Java并发编程实战】—–“J.U.C”:CAS操作

chenssy阅读(1350)评论(4)

CAS,即Compare and Swap,中文翻译为“比较并交换”。 对于JUC包中,CAS理论是实现整个java并发包的基石。从整体来看,concurrent包的实现示意图如下: i++是一个非常经典的操作,它几乎充斥着我们每个人编写的...

【Java并发编程实战】—–“J.U.C”:Exchanger

chenssy阅读(941)评论(0)

前面介绍了三个同步辅助类:CyclicBarrier、Barrier、Phaser,这篇博客介绍最后一个:Exchanger。JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点。每个线程将条目上的某个方法呈现给 exc...

Chenssy's Blog | 致力打造个人精品博客

联系作者读书系统