Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序执行线程_Java - Fatal编程技术网

Java程序执行线程

Java程序执行线程,java,Java,当java程序执行从控制器开始,一直到DAO层,在这中间我想暂停执行,直到在其他模型上发生一些繁重的操作(Post请求执行一些操作)。然后在我当前的模型中继续执行任务 我们是否可以暂停当前流程执行一段时间,然后在java中恢复流程?在我看来,您可以使用CompletableFuture执行其他操作,并等待其完成,如下所示: CompletableFuture<String> future= CompletableFuture.supplyAsync(() -> "Call th

当java程序执行从控制器开始,一直到DAO层,在这中间我想暂停执行,直到在其他模型上发生一些繁重的操作(Post请求执行一些操作)。然后在我当前的模型中继续执行任务


我们是否可以暂停当前流程执行一段时间,然后在java中恢复流程?

在我看来,您可以使用
CompletableFuture
执行其他操作,并等待其完成,如下所示:

CompletableFuture<String> future= CompletableFuture.supplyAsync(() -> "Call the function");    
future.get();
CompletableFuture=CompletableFuture.supplyAsync(()->“调用函数”);
future.get();

现在
future.get()
用于检索计算结果,因此它将一直阻塞,直到o/p不可用,一旦可用,它将继续执行。

不要使用
sleep
。阅读
wait notify
方法。您可以使用wait notify、信号量、
Future
(尤其是在后台执行繁重的操作时)倒计时锁存等。什么是繁重的操作?请同时添加这些详细信息。@Bilbobagkins正在使用RFCI检索库存的当前状态,是否假定这将是一个DB调用?还是一个微服务电话?