Java ArrayBlockingQueue v/s BlockingBuffer.decoration(新的BoundedFifoBuffer()
(在我们的产品中发现此代码图片) 我阅读了关于ArrayBlockingQueue的文章,发现它是有界和阻塞的。 现在,如果我们使用-BlockingBuffer.decoration(new BoundedFifoBuffer()),它看起来类似于ArrayBlockingQueueJava ArrayBlockingQueue v/s BlockingBuffer.decoration(新的BoundedFifoBuffer(),java,collections,concurrency,Java,Collections,Concurrency,(在我们的产品中发现此代码图片) 我阅读了关于ArrayBlockingQueue的文章,发现它是有界和阻塞的。 现在,如果我们使用-BlockingBuffer.decoration(new BoundedFifoBuffer()),它看起来类似于ArrayBlockingQueue 请帮助理解它们是否相似或不同,以及在什么情况下使用什么?ArrayBlockingQueue是标准库,而BlockingBuffer/BoundedFifoBuffer不是。如果您没有特定的原因,这将是选择Arr
请帮助理解它们是否相似或不同,以及在什么情况下使用什么?
ArrayBlockingQueue
是标准库,而BlockingBuffer
/BoundedFifoBuffer
不是。如果您没有特定的原因,这将是选择ArrayBlockingQueue
的充分理由n
另一个明显的区别是,缓冲区
是一个集合,而不是队列
,而ArrayBlockingQueue
是。如果您的用例是一个队列,那么ArrayBlockingQueue
会更好,因为有些库需要队列
最后,
ArrayBlockingQueue
使用了更复杂的并发控制,因此如果它性能更好,我不会感到惊讶。