当我转到asyncio
页面时,第一个示例是hello world程序。当我在python上运行它时3.73
,我看不出与正常的任何区别,
有人可以告诉我区别并举一个简单的例子吗?
In [1]: import asyncio
...:
...: async def main():
...: print('Hello ...')
...: await asyncio.sleep(5)
...: print('... World!')
...:
...: # Python 3.7+
...: asyncio.run(main())
Hello ...
... World!
In [2]:
In [2]: import time
...:
...: def main():
...: print('Hello ...')
...: time.sleep(5)
...: print('... World!')
...:
...: # Python 3.7+
...: main()
Hello ...
... World!
我故意将时间从1秒增加到5秒,希望看到一些特别的东西,但我没有。
您不会看到什么特别的东西,因为您的代码中没有太多异步工作。但是,主要区别在于它time.sleep(5)
是阻塞的,并且asyncio.sleep(5)
是非阻塞的。
当time.sleep(5)
被调用时,它会阻止脚本的整个执行,它会被搁置,只是冻结,无所事事。但是,当您调用时await asyncio.sleep(5)
,它将在等待语句完成执行时要求事件循环运行其他内容。
这是一个改进的示例。
import asyncio
async def hello():
print('Hello ...')
await asyncio.sleep(5)
print('... World!')
async def main():
await asyncio.gather(hello(), hello())
asyncio.run(main())
将输出:
~$ python3.7 async.py
Hello ...
Hello ...
... World!
... World!
您可以看到这await asyncio.sleep(5)
并没有阻止脚本的执行。
希望能帮助到你 :)
本文向大家介绍给ubuntu18安装python3.7的详细教程,包括了给ubuntu18安装python3.7的详细教程的使用技巧和注意事项,需要的朋友参考一下 参考文章 ubuntu源码安装python3 linux 编译安装python3.6的教程详解 准备工作 安装工具 正式开始 下载python文件 解压源码包 创建python安装路径 安装python 添加环境变量 在结尾添加 添加用
今天,我用brew upgrade命令升级了python3.7。 我尝试使用安装PyYAML包。 我有这个错误,不知道。。 最后 我试图解决这个问题,但仍然不知道。 https://github.com/yaml/pyyaml/issues/126 如何安装Python的yaml包 我如何解决这个问题...?
本文向大家介绍python3.7简单的爬虫实例详解,包括了python3.7简单的爬虫实例详解的使用技巧和注意事项,需要的朋友参考一下 python3.7简单的爬虫,具体代码如下所示: 总结 以上所述是小编给大家介绍的python3.7简单的爬虫实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持! 如果你觉得本文对你有帮助,欢迎
编辑18/02:因为我仍然没有解决方案,我正在更新我目前所知道的。 我已经成功安装了python 3.7。我可以使用pip(或pip3)安装模块,但这些模块是在Python3.6(ubuntu附带)中安装的。因此,我无法在Python3.7中导入这些模块(找不到模块)。Python3.7无法识别pip/pip3,因此我无法通过pip/pip3进行安装。我需要Python3.7 -- 我已经在我的U
本文向大家介绍Python3.7基于hashlib和Crypto实现加签验签功能(实例代码),包括了Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)的使用技巧和注意事项,需要的朋友参考一下 环境: Python3.7 依赖库: 加签: 验签: 总结 以上所述是小编给大家介绍的Python3.7基于hashlib和Crypto实现加签验签功能,希望对大家有所帮助,如果大
我对编程非常陌生,目前正在Youtube上学习python(“新的Boston-Python3”)试图根据视频中的代码从互联网上下载图像,但出现了一个错误。代码如下: 错误是: 我正在使用PyCharm 2018.3版本 请帮帮我,谢谢