标签:stack class exce 异常 cat com 简单 异步 random
接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。
Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值,下面来看一个简单的例子:
public static void main(String[] args) { Callable<Integer> callable = () -> { return new Random().nextInt(100); }; FutureTask<Integer> futureTask=new FutureTask<Integer>(callable); new Thread(futureTask).start(); try{ Thread.sleep(500); System.out.println(futureTask.get()); }catch (Exception e){ e.printStackTrace(); } }
Future模式介绍:
标签:stack class exce 异常 cat com 简单 异步 random
原文地址:http://www.cnblogs.com/KingIceMou/p/8004851.html