当前位置: 首页 > 网络应用技术

通用方法并使用并发模块的示例

时间:2023-03-06 14:36:16 网络应用技术

  未来可以将其作为将来完成的操作。从总体上讲,当IO操作访问URL时,它将发生在等待结果返回之前。CPU不能做其他事情,只能是愚蠢的。因此,未来的引入是帮助我们在CPU愚蠢期间完成其他一些事情。

  Future类封装了可召唤的异步执行。FUTURE实例是由executor.submit()方法创建的。

  CANCEL():尝试取消应用程序。如果呼叫当前执行并且无法取消,则该方法将返回为False。否则,该调用将被取消,该方法将返回true。

  取消():如果通话成功取消,请返回true

  running():如果当前执行呼叫并且无法取消呼叫,请返回true

  完成():如果通话成功取消或结束,请返回true

  结果(超时= none):返回返回返回的值。如果呼叫未完成,则该方法将等待时间段。如果呼叫未在几秒钟内秒内完成,则期货。

  异常(超时= none):返回呼叫异常。如果呼叫未完成,请等待暂停秒。如果时间超过第二个,则会丢弃超时错误。

  Futures.Timeouterror:超时值是int或float。如果您不指定或指定无值,则等待时间是无限的。如果在完成之前取消了期货,则会引发cancellederror异常。如果呼叫完成并且没有异常,则返回无异常

  add_done_callback(fn):将可可对象fn绑定到未来。当未来取消或结束时,FN将被称为未来的唯一参数。如果未来正在运行或取消,则将立即调用FN。

  等待(fs,timeout = none,return_when = allt_completed):等待fs提供的未来实例。

  return_when:函数的时机return.it具有以下值

  first_completed:函数在任何将来的结束或取消时返回

  first_exceuon:由于异常而结束时,函数将返回。如果没有未来异常,则效果等同于all_completed

  all_completed:在将来结束后,函数将返回。

  as_completed(fs,timeout = none):参数是未来实例,返回值是一个迭代器,它在运行后会生成未来实例。

  结果: