之前给大家带来了一个java callable用法示例,那么下面要给大家接着分享一个使用Callable+Future获取执行结果的java示例,一起来看看吧。
使用Callable+Future获取执行结果
public class Test { public static void main(String[] args) { ExecutorService executor = Executors.newCachedThreadPool(); Task task = new Task(); Future < Integer > result = executor.submit(task); executor.shutdown(); try { Thread.sleep(1000); } catch (InterruptedException e1) { e1.printStackTrace(); } System.out.println("主线程在执行任务"); try { System.out.println("task运行结果" + result.get()); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } System.out.println("所有任务执行完毕"); } } class Task implements Callable < Integer > { @Override public Integer call() throws Exception { System.out.println("子线程在进行计算"); Thread.sleep(3000); int sum = 0; for (int i = 0; i < 100; i++) sum += i; return sum; } }
执行结果
子线程在进行计算
主线程在执行任务
task运行结果4950
所有任务执行完毕
你还想了解更多的java实例吗?欢迎大家继续的来奇Q工具网来进行进一步的了解哦,更多java实例可以分享给你。以上内容仅供参考。
推荐阅读: