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

JAVA

第5页

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

chenssy阅读(2488)评论(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...

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

chenssy阅读(1115)评论(0)

信号量Semaphore是一个控制访问多个共享资源的计数器,它本质上是一个“共享锁”。 Java并发提供了两种加锁模式:共享锁和独占锁。前面LZ介绍的ReentrantLock就是独占锁。对于独占锁而言,它每次只能有一个线程持有,而共享锁则...

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

联系作者读书系统