深入浅出多线程(3)-Future异步模式以及在JDK1.5Concurrent包中的实现 - 编程入门网
lable的机制。我们只要实现 Callable接口中的Call方法,Call方法是可以返回任意类型的结果的。如下:
Returnresult 实现了Callable接口,在Call方法中实现业务逻 辑,并返回结果。在Main方法里面,初始化FutureTask 并将该Task作为 Runnable加入Thread后,启动线程。得到跟刚才相同的效果。 注意: 通过JDK标准的Future后,没有必要增加额外的Object来只有Result ,更加简单明了,同时FutureTask还提供了Cancel的功能,我们持有FutureTask 引用后可以Cancel该线程。通过get()取值是,如果结果还没有返回,将会阻塞 Main线程。 其实JDK 实现Future模式的秘密就在FutureTask类里: FutureTask是实现了Future 和Runnable,对了就是Runnbale接口,我们就可 以把它构造到Thread里,启动执行了。 看看,当 new Thread(new FutureTask(new Callable())).start 时: 深入浅出多线程(3)-Future异步模式以及在JDK1.5Concurrent包中的实现(4)时间:2011-09-07 BlogJava vincent看图: G get 方法取result值,FutureTask 提供Timeout 功能,如果超时,抛出异常 。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |