前言:
目前我们对“java多线程callable”可能比较关注,看官们都需要学习一些“java多线程callable”的相关知识。那么小编也在网上汇集了一些有关“java多线程callable””的相关知识,希望我们能喜欢,兄弟们快快来了解一下吧!通常我们创建线程有两种方式,1、直接继承Thread类。2、实现Runnable接口。
这两种方式都有一个缺陷:在执行完成任何之后无法获取执行结果。
如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。
JDK1.5开始,就提供了Callable和Future,通过它们可以在线程任务执行完毕之后得到执行的结果。
我们看下代码具体实现:
Callable结果创建线程总结:
1、Callable结果不能直接传给Thread构造方法来创建线程,需要通过中间类FutureTask来完成,FutureTask继承了结果Runnable,将实现Callable结果的实现类通过构造方法的参数传给FutureTask类,就可以创建线程。
2、FutureTask.get():这个方法用来获取执行结果,这个方法会产生阻塞,会一直等到任务执行完毕才返回。这行代码一般放到最后。
标签: #java多线程callable