gpt4 book ai didi

java - java中如何让当前线程等待函数返回?

转载 作者:行者123 更新时间:2023-12-02 00:49:55 24 4
gpt4 key购买 nike

我有一个函数,其中处理被交给一个新线程。

问题是调用函数的地方不会等待函数返回,而是立即执行函数调用后的任何代码。如何等待函数返回,以便在执行后直到返回为止没有代码?

希望我不要太含糊。我对多线程的概念还很陌生。

最佳答案

这里是从 JDK 对 Future 接口(interface)的描述中复制粘贴

interface ArchiveSearcher { String search(String target); }
class App {
ExecutorService executor = ...
ArchiveSearcher searcher = ...
void showSearch(final String target)
throws InterruptedException {
Future<String> future
= executor.submit(new Callable<String>() {
public String call() {
return searcher.search(target);
}});
displayOtherThings(); // do other things while searching
try {
displayText(future.get()); // use future
} catch (ExecutionException ex) { cleanup(); return; }
}
}

调用executor.submit - 强制任务在独立线程中启动。调用 future.get() 将等待任务完成并返回值。

关于java - java中如何让当前线程等待函数返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3650469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com