我有一个 ThreadPoolExecutor,它管理 2 个 Worker 线程(Callables)。我的 Worker 线程的工作是监听 MQ 并将内容写入文件并更新计数。我的要求是当所有线程读取的消息总数等于提交的消息总数时,我需要通过传递 STOP 消息来停止我的工作线程。如何在父线程仍在运行时从我的工作线程中获取计数。
我检查了 ThreadPoolExecutor 的 API,它只有 beforeExecute 和 afterExecute。afterExecute 对我不起作用,因为我的线程应该在到达 afterExecute 之前先停止。
任何建议表示赞赏。
谢谢