java - 阻塞队列和 InterruptedException

标签 java queue java.util.concurrent

我有一个以 LinkedBlockingQueue 作为属性的类 A。在 A 的一种方法中,我调用了 LinkedBlockingQueue.put() 方法,因为我想在队列中插入一个项目。但是,如果队列已满,我的线程将等待直到空间可用或我的线程被中断。

问题是,即使我的线程被打断,我也希望该项目在队列中。

有没有办法确定我的项目已插入队列中?

谢谢

最佳答案

如果队列已满,您必须决定是否要等待。如果你设置它,你不能告诉它忽略最大长度。

如果队列太大,您可以做的是减慢生产者的速度。如果您愿意,这将允许您“忽略”最大值。例如中断。

关于java - 阻塞队列和 InterruptedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11018668/

相关文章:

java - 压缩 Arraylist 或将 arraylist 与对象一起传递

java - 如何通过csv-spring读取队列而不是arrayList?

Grails 执行器插件 callAsync block 始终采用相同的值

java - 并发 : Java Map

java - 我应该根我的 Android 手机从 SD 卡写入/读取吗?

使用 Apache Tomcat 时出现 Java FileNotFoundException

java - Python PIP 风格的本地 Java 包管理系统?

go - 从另一个队列中轮询一个简单队列,并从第二个队列填充第一个队列

java - 将非泛型类扩展为泛型类

java - 如何在异构映射中使用泛型?