从线程返回值?
Returning a value from a Thread?
//... Some annoying getter
ExecutorService es = Executors.newSingleThreadExecutor();
Future<Integer> result = es.submit(new Callable<Integer>() {
public Integer call() throws Exception {
//Get some value from the SQL database.
}
});
return result;
好的,我都看过了。我需要知道如何让它等待,直到它完成从数据库中检索到 return 这个值。
您使用 result.get()
等待任务完成并检索结果。
API 文档是您的朋友。这是描述 Future
的 API 的页面。
//... Some annoying getter
ExecutorService es = Executors.newSingleThreadExecutor();
Future<Integer> result = es.submit(new Callable<Integer>() {
public Integer call() throws Exception {
//Get some value from the SQL database.
}
});
return result;
好的,我都看过了。我需要知道如何让它等待,直到它完成从数据库中检索到 return 这个值。
您使用 result.get()
等待任务完成并检索结果。
API 文档是您的朋友。这是描述 Future
的 API 的页面。