多线程BlockingQueue-添加在最前面

问题描述

我对BlockingQueue有疑问。

当我将其用作队列时,它正在为我工​​作。但是,有时我想将几个任务返回到队列中。

我认为BlockingQueue无法执行该操作。

是否有其他结构可以做到这一点,并且是ThreadSafe吗?我想避免使用Collections.synchronizedList(),但我不知道如何以java.utils.concurrent的可能性来实现这样的问题?

请问有什么提示可以在多线程环境中支持这种问题?

解决方法

您要寻找BlockingDeque吗? addLast不会阻塞并添加到尾部,而putLast不会阻塞并添加到尾部。