歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

Python學(xué)習(xí)之使用Future對(duì)象來異步返回結(jié)果方法詳解

發(fā)布時(shí)間:2017-09-18 16:17  回復(fù):0  查看:3003   最后回復(fù):2017-09-18 16:17  
本文和大家分享的主要是使用Future 對(duì)象來異步返回結(jié)果相關(guān)內(nèi)容,一起來看看吧,希望對(duì)大家 學(xué)習(xí)python有所幫助。
  一個(gè)Future 是用來表示將來要完成的結(jié)果,異步循環(huán)可以自動(dòng)完成對(duì)這種對(duì)象的狀態(tài)觸發(fā),例子如下:
   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()))
  輸出結(jié)果如下:
  scheduling mark_done
  entering event loop
  setting future result to 'the result'
  returned result: 'the result'
  closing event loop
  future result: 'the result'
  在這個(gè)例子里,并沒有調(diào)用return 語句,但也可以生成一個(gè)結(jié)果返回。 Future 的使用跟協(xié)程使用是一樣的。
來源: 大坡3D 軟件開發(fā)
您還未登錄,請(qǐng)先登錄

熱門帖子

最新帖子

?