chapter17 使用期物处理并发

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

  • concurrent.futures.Future
  • asyncio.Future
    这两个类的作用相同。两个Future类的实例都表示可能已经完成或者尚未完成的延迟计算。
    期物封装待完成的操作,可以放入队列,完成的状态可以查询,得到结果(或者抛出异常)后可以获取结果(或异常)。
    通常情况下自己不应该创建期物,而只能由并发框架实例化。
    这两种期物都要有.done()方法,这个方法不阻塞,返回值是布尔值,指明期物链接的可调用对象是否已经执行。客户端代码通常不会询问期物是否已经运行结束,而是等待通知。因此,两个Future类都有.add_done_callback()方法。这个方法只有一个参数,类型是可调用的对象。当期物运行结束后会调用指定的可调用对象。
    还有.result()方法:返回可调用对象的结果

你可能感兴趣的:(chapter17 使用期物处理并发)