美文网首页
谈谈对callable 和 future的理解

谈谈对callable 和 future的理解

作者: 半只笔芯 | 来源:发表于2018-06-18 22:18 被阅读0次

在java中,实现线程的方式不仅仅有runnable接口,Thread类,还有callable接口,但是runnable接口和thread类中,都是没有返回值的。

但是在callable接口的实现中,是可以有值返回的;

经过代码的编写,有两种方法可以取出返回值

具体方法请看如下代码

分别使用 FutureTask 和 线程池完成回调。

源码分析

首先简历线程池可以发现,底层实现是有同步队列的,也就是说线程等待是在队列中完成的

ThreadFactory,线程的制造工厂,线程池等的线程创建都和这个类有关

ThreadPoolExecutor 导入的包

里面可以看到有abstractqueuedSynchronizer aqs,和lock锁,还有condition条件控制类

接下来进一步观察线程池是底层怎么实现线程的切换,和锁的应用

相关文章

网友评论

      本文标题:谈谈对callable 和 future的理解

      本文链接:https://www.haomeiwen.com/subject/nirbeftx.html