fas*_*ser 9 java queue concurrency producer-consumer
这些实现之间有什么区别,哪些情况应该使用一个或另一个队列?
小智 7
正如Alex Miller在这篇文章中提到的那样
TransferQueue比SynchronousQueue更通用和有用,但它允许您灵活地决定是使用正常的BlockingQueue语义还是保证切换.在项目已经在队列中的情况下,呼叫转移将保证在转移的项目之前处理所有现有的队列项目.
SynchronousQueue实现使用双队列(用于等待生成器和等待使用者)并使用单个锁保护两个队列.LinkedTransferQueue实现使用CAS操作来形成非阻塞实现,这是避免序列化瓶颈的核心.
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |