【发布时间】:2011-05-09 10:16:37
【问题描述】:
getQueue() 方法提供了对 ThreadPoolExecutor 中底层阻塞队列的访问,但这似乎并不安全。
遍历此函数返回的队列可能会错过 ThreadPoolExecutor 对队列所做的更新。
“方法 getQueue() 允许访问工作队列以进行监视和调试。强烈建议不要将此方法用于任何其他目的。”
如果你想遍历 ThreadPoolExecutor 使用的 workQueue,你会怎么做?还是有其他方法?
这是一个延续.. Choosing a data structure for a variant of producer consumer problem
现在,我正在尝试多生产者多消费者,但我想使用一些现有的线程池,因为我不想自己管理线程池,并且我想要在 ThreadPoolExecutor 完成执行某些任务时回调能够以线程安全的方式检查“正在进行的事务”数据结构。
【问题讨论】: