从线程返回值?

时间:2015-01-23 09:36:23

标签: 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;

好的,我看了一遍。我需要知道如何让它等待,直到它完成从数据库中检索一个值来返回它。

1 个答案:

答案 0 :(得分:6)

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

API文档是您的朋友。这是描述Future的API的页面。