chapter17 使用期物处理并发

期物的概念:期物指一种对象,表示异步执行的操作。
python3.4起,标准库中有两个名为Future的类

  • concurrent.futures.Future
  • asyncio.Future
    这两个类的作用相同。两个Future类的实例都表示可能已经完成或者尚未完成的延迟计算。
    期物封装待完成的操作,可以放入队列,完成的状态可以查询,得到结果(或者抛出异常)后可以获取结果(或异常)。
    通常情况下自己不应该创建期物,而只能由并发框架实例化。
    这两种期物都要有.done()方法,这个方法不阻塞,返回值是布尔值,指明期物链接的可调用对象是否已经执行。客户端代码通常不会询问期物是否已经运行结束,而是等待通知。因此,两个Future类都有.add_done_callback()方法。这个方法只有一个参数,类型是可调用的对象。当期物运行结束后会调用指定的可调用对象。
    还有.result()方法:返回可调用对象的结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,750评论 19 139
  • 1.基本介绍 期物(Future)是concurrent.futures模块和asyncio包的重要组件。pyth...
    第八共同体阅读 5,179评论 0 1
  • 原文:http://www.jianshu.com/p/4e048726b613 引言 随着node.js的盛行,...
    jacke121阅读 6,497评论 1 3
  • 人体致病因素大体有两类:一是外感六淫邪气,何为六淫,风、寒、暑、湿、燥、火,二是内伤七情,何为七情,喜、怒、忧、思...
    秋山秋水阅读 2,934评论 0 0
  • 我想,入了教师这个行,一定要当班主任,只有当了班主任,才能真正懂得教师的酸甜苦辣,也才能最大限度的参与孩子们的成长...
    舴艨载愁阅读 1,469评论 0 0