我有一个具有几个端点的API(javaee / wildfly)(我只使用了两个,但最终会有更多):
我的问题是关于longProcessB,它仅应在longProcessA完成后才启动,并在DB中保持状态成功
我的第一个想法是:使用while循环longProcessB等待DB中的longProcessA状态成功...但是我不喜欢它... 我想了解有关线程状态的更多信息:longProcessB等待longProcessA说它的过程完成了,但是有可能吗?
编辑:
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Object> c = Executors.callable(new Task());
executor.invokeAll(Arrays.asList(c), 10, TimeUnit.SECONDS);
executor.shutdown();
然后在我的任务中(我将名称设置为线程):
Thread thread = getThreadByName("Import");
if (thread!= null) {
while (thread.isAlive() == true) {
try {
Thread.sleep(100);
} catch (InterruptedException ignored) {
}
}
}