【发布时间】:2013-04-05 07:05:57
【问题描述】:
如何检查线程ExecutorService池中是否有线程在运行?
背景:
如果设置了标志,我想在线程池中的线程之间进行同步。
因此,如果标志设置为 true 以进行同步,那么我必须检查其他线程是否正在运行或等待其完成,然后使用 synchronize 调用阻塞线程,以便其他线程等待这个阻塞线程完成。
如果未设置标志,则无需同步,可以并行执行线程。
谢谢!
【问题讨论】:
-
你能给我们一些关于你在做什么/为什么做的背景吗?
-
试过thread.isAlive() ?
-
什么意思?你的意思是 task 是否正在运行?在
ExecutorService中总会有Threads活着。请发布您的代码,以便我们为您提供帮助,而不是猜测您可能需要什么。 -
@exabrial 添加了我的问题的背景。
-
你能退后一步解释一下为什么你想要这个。尝试在不谈论您需要完成的细节的情况下提出问题。现在您的问题与特定的解决方案太相关了。
标签: java multithreading executorservice