对于future异步的思考
来源:互联网 发布:网络公选课答案智慧树 编辑:程序博客网 时间:2024/05/23 07:24
一、Future
用一句话讲:future就是把 同步转异步
简单来讲,Future是这样一种Pattern:你提交一个异步的任务,比如提交到一个threadpool,与此同时拿到一个Future对象,任务的执行是异步的,这时候你可以去做其它的事情,等到异步任务结束的时候,你可通过前面的Future对象拿到异步执行的任务的结果。类似吃饭的时候领餐牌,饭煮好了可以拿餐牌换。
二、问题
Future的get和isDone在task没有做好的时候都会阻塞,既然get会阻塞,为啥又是异步呢?
答案是:
你把任务提交了,这个时候就已经是异步了,你可以回来做自己的事情。然后get的时候阻塞是因为对方没把事情做好,跟异步没关系,万一对方把事情做好了,你去get就直接得到了。
换句话说,你自己写个sleep,也叫阻塞了,但这个时候跟异步没半毛钱关系。isdone是看有没有做好,异步指的是提交任务,这是两码事。
1 0
- 对于future异步的思考
- 对于大盘的思考
- 对于工作的思考
- 对于未来的思考
- 对于管理者的思考
- 对于模式的思考
- 对于nginx的思考
- 对于学习的思考
- 对于POJ3264的思考
- 对于人工智能的思考
- 对于测试的思考
- 对于时间的思考
- public interface Future<V>Future 表示异步计算的结果
- 关于异步的思考
- 关于异步的思考
- java异步计算Future的使用
- java异步计算Future的使用
- java异步计算Future的使用
- 第2章 Java内存区域与内存溢出异常
- MyEclipse快捷键大全
- liunx程序运行状态
- 猴子摘桃
- nginx安装
- 对于future异步的思考
- 从如何解决问题到如何学习算法
- 文章标题
- scipy module 1 -- Scipy Tutorial 2 Interpolation(插值)
- hdu 5213(容斥原理+莫队算法)
- An internal error occurred during: "Retrieving archetypes:". GC overhead limit exceeded
- 使用Junit编写webdriver脚本-访问chrome浏览器的百度地图
- Javascript中延迟加载js文件
- Java 数据保存与读取,保存数据信息并加密