我正在处理程序中的多个线程。有一些独立的线程,一些线程在开始执行之前依赖于其他线程的完成。Executor服务中的依赖线程 - Java
目前,如果它所依赖的仍然是运行的线程,然后等待它的完成我在做这个
for (final String inElementId : inElements)
{
Thread thread = threadsMap.get(inElementId);
if ((thread != null) && thread.interrupted())
{
Thread.currentThread().interrupt();
throw new RuntimeException();
} else {
thread.join();
}
}
因此,每个线程检查。
我想编写一个执行程序服务来以系统的方式管理线程。 但我找不到可以检查依赖项的方法。
如何使用线程池执行程序服务执行此操作,thread B
只应提交一次thread A
已完成执行?或者还有其他更好的方法来管理这些线程吗?
P.S:也可能首先提交thread B
,但它取决于A
,因此它一直等待,直到thread A
被提交并且它完成执行。
我认为是不可能的,而不是检查线程A这样做了,检查其中A是应该做的任务完成与否 – dvsakgec