并发工具类主要用于并发线程的协同工作。
AQS
AQS (AbstractQueuedSynchronizer) 的结构:
AQS内部维护着一个链表。既然是队列,就需要头尾顺序,他自己定义的链表,每个节点都会维护着上一个、下一个、头、尾节点。
AQS 的内部节点还维护着一个线程可见(volatile)的状态值state。
AQS这样设计就是为了能在并发环境中提供一系列能有序管理线程的模板方法。这是一个基础抽象类。
Semaphore
这个工具类起到一个计数信号量的作用:
比如数据库承受不了太大的并发的时候可以使用。
SemaphoreCountDownLatch
CountDownLatchCyclicBarrier
CyclicBarrier
网友评论