Python学习之使用Future对象来异步返回结果方法详解

来源:互联网 发布:日式收纳知乎 编辑:程序博客网 时间:2024/06/05 11:22
本文和大家分享的主要是使用Future对象来异步返回结果相关内容,一起来看看吧,希望对大家学习python有所帮助。
  一个Future是用来表示将来要完成的结果,异步循环可以自动完成对这种对象的状态触发,例子如下:
  import asyncio
  def mark_done(future, result):
  print('setting future result to {!r}'.format(result))
  future.set_result(result)
  event_loop = asyncio.get_event_loop()try:
  all_done = asyncio.Future()
  print('scheduling mark_done')
  event_loop.call_soon(mark_done, all_done, 'the result')
  print('entering event loop')
  result = event_loop.run_until_complete(all_done)
  print('returned result: {!r}'.format(result))finally:
  print('closing event loop')
  event_loop.close()
  print('future result: {!r}'.format(all_done.result()))
  输出结果如下:
  scheduling mark_done
  entering event loop
  setting future result to 'the result'
  returned result: 'the result'
  closing event loop
  future result: 'the result'
  在这个例子里,并没有调用return语句,但也可以生成一个结果返回。Future的使用跟协程使用是一样的。
来源:大坡3D软件开发

阅读全文
0 0
原创粉丝点击