java - 从线程返回值?

标签 java multithreading return

//... 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;

好的,我已经全部看过了。我需要知道如何让它等待,直到它完成从数据库检索值以返回该值。

最佳答案

您使用result.get()等待任务完成并检索结果。

API 文档是您的 friend 。这是描述 Future 的 API 的页面.

关于java - 从线程返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106857/

相关文章:

java - 根据java文档中的定义,什么是抽象接口(interface)?

java - 如何在 retrofit2 中捕获两个不同对象数组的 api 响应?

python - 我这里有线程问题吗?

multithreading - 在 x86 上,如果 [mem] 不是 32 位对齐, "lock inc [mem]"还能正常工作吗?

c++ - 返回类时警告 : control may reach end of non-void function?

java - 返回java字符串而不是返回null

Java 8 : grouping a collection by a field and flatten and join a collection as mapped value using stream?

java - 正则表达式问题 - 排除某些字符

C# 生成新线程然后等待

c# - 如何在 C# 控制台应用程序中返回一个简单的 int 值