脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python中利用await关键字如何等待Future对象完成详解

python中利用await关键字如何等待Future对象完成详解

2020-12-06 17:52caimouse Python

为了简化并更好地标识异步IO,从Python 3.5开始引入了新的语法async和await,可以让coroutine的代码更简洁易读。下面这篇文章主要给大家介绍了关于python中利用await关键字如何等待Future对象完成的相关资料,需要的朋友可以参考下。

前言

本文主要给大家介绍了关于pythonawait关键字等待Future对象完成的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

在下面的例子里,演示了怎么样使用await来等Future对象设置结果完成

示例代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import asyncio
 
 
def mark_done(future, result):
 print('setting future result to {!r}'.format(result))
 future.set_result(result)
 
 
async def main(loop):
 all_done = asyncio.Future()
 
 print('scheduling mark_done')
 loop.call_soon(mark_done, all_done, 'the result')
 
 result = await all_done
 print('returned result: {!r}'.format(result))
 
 
event_loop = asyncio.get_event_loop()
try:
 event_loop.run_until_complete(main(event_loop))
finally:
 event_loop.close()

输出结果如下:

?
1
2
3
scheduling mark_done
setting future result to 'the result'
returned result: 'the result'

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://blog.csdn.net/caimouse/article/details/77869577

延伸 · 阅读

精彩推荐