ExecutorService service = Executors.newCachedThreadPool();
Future<String> fu = service.submit(new Callable<String>() {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
Thread.sleep(2000);
return "收到了";
}
});
System.out.println("发送消息");
System.out.println("返回结果是:"+fu.get(20000,TimeUnit.MILLISECONDS)); 发送消息
返回结果是:收到了
Future用于表示线程执行的返回结果信息。Callable表示异步执行实体对象。
以上代码,主线程需要等待Callable执行并返回结果,当然是不是一定要等待Callable取决于参数设置。
本文介绍如何利用Java中的Future与Callable接口来执行异步任务并获取其结果。通过示例代码展示了主线程如何等待Callable执行完毕并返回结果。
6272

被折叠的 条评论
为什么被折叠?



