gpt4 book ai didi

java - 我什么时候应该在 LinkedBlockingQueue 上使用 SynchronousQueue

转载 作者:IT老高 更新时间:2023-10-28 20:31:26 24 4
gpt4 key购买 nike

new SynchronousQueue()
new LinkedBlockingQueue(1)

有什么区别?我什么时候应该对容量为 1 的 LinkedBlockingQueue 使用 SynchronousQueue

最佳答案

SynchronousQueue 更像是一种切换,而 LinkedBlockingQueue 只允许单个元素。不同之处在于,对 SynchronousQueue 的 put() 调用不会返回,直到有相应的 take() 调用,但使用大小为 1 的 LinkedBlockingQueue,put() 调用(对空队列) 将立即返回。

我不能说我自己曾经直接使用过 SynchronousQueue,但它是用于 Executors.newCachedThreadPool() 方法的默认 BlockingQueue。当您真的不想要队列(您不想维护任何待处理的数据)时,它本质上是 BlockingQueue 实现。

关于java - 我什么时候应该在 LinkedBlockingQueue 上使用 SynchronousQueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8591610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com