有一个任务,多次执行一个函数,这个函数是阻塞的,阻塞原因是比如获取网络资源,这个时候该怎么办,一般来讲多线程是个不错的选择,python3.5以后提供了async可以让单线程达到相同效果。示例如下:

import threading
import asyncioasync def hello():print('Hello world! (%s)' % threading.currentThread())await asyncio.sleep(10)print('Hello again! (%s)' % threading.currentThread())loop = asyncio.get_event_loop()
tasks = [hello(), hello()]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()

值得注意的是这个异步的数量可以非常的庞大,上百万都不会有什么问题,我们用下面的代码进行测试,

import threading
import asyncioasync def hello():print('Hello world! (%s)' % threading.currentThread())await asyncio.sleep(1)print('Hello again! (%s)' % threading.currentThread())try:loop = asyncio.get_event_loop()tasks = [hello() for i in range(1000*1000*1)]loop.run_until_complete(asyncio.wait(tasks))# loop.close()
except ValueError:print('Async Error')

python3 Async/Await入门指南相关推荐

  1. python入门指南-python3.6.0入门指南(官方版).pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython python3.6.0入门指南(官方版).pdf7 ...

  2. python入门指南小说免费阅读-python3.6.0入门指南(官方版).pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython python3.6.0入门指南(官方版).pdf7 ...

  3. Python 异步 IO 、协程、asyncio、async/await、aiohttp

    From :廖雪峰 异步IO :https://www.liaoxuefeng.com/wiki/1016959663602400/1017959540289152 Python Async/Awai ...

  4. TyepScript入门教程 之 async await

    TyepScript入门教程 之 async await 涵盖相同内容的PRO Egghead视频课程 作为一个思想实验,可以设想以下内容:一种告诉JavaScript运行await时在对promis ...

  5. python3入门指南_Python 3.4入门指南

    Python3.4 入门指南? Release:3.4 Date:March 29, 2014 Python 是一门简单易学且功能强大的编程语言. 它拥有高效的高级数据结构,并且能够用简单而又高效的方 ...

  6. Python3入门指南(持续更新)

    一.环境介绍 编程IDE:  VS Code 运行环境:  windows .Ubuntu Python版本:  3.8.0 完整PDF下载地址(持续更新资源包): https://download. ...

  7. python3.5中文手册_Python 入门指南 — Python3 中文手册 3.5.2 文档 | 三维部落

    Python 入门指南¶ Release:3.5.2 Date:2016 年 10 月 24 日 Python 是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能够用简单而又高效的方 ...

  8. python3.5中文手册_Python-3.5.X官方学习入门指南中文版

    文档来源为 : 从网络收集整理 .word 版本可编辑 . 欢迎下载支持 . Python 入门指南 目录 Python 入门指南 . ................................ ...

  9. Quartz.NET快速入门指南

    最近,在工作中遇到了 Quartz.net 这个组件,为了更好的理解项目代码的来龙去脉,于是决定好好的研究一下这个东西.确实是好东西,既然是好东西,我就拿出来分享一下.万丈高楼平地起,我们也从入门开始 ...

最新文章

  1. C#.Net的常见面试试题 [转]
  2. python 批量改名
  3. 蓝桥杯_算法训练_大小写转换
  4. spring系列-注解驱动原理及源码-bean组件注册
  5. js(Dom+Bom)第二天(2)
  6. python socketio async client_electron/socket.io client-python socketio/aiohttp server//连接失败
  7. BBV:实验基本块向量生成工具
  8. 习题:输出九九乘法表
  9. 阻止表单提交,超链接默认行为
  10. 矩阵论复习笔记:矩阵直积及其应用
  11. 2020,新年快乐!
  12. chrome插件开发入门实战——CSDN免登陆拷贝、免关注查看
  13. idea下载Mybatis插件
  14. 达梦(DM)数据库常见问题详解
  15. Xcel 测试版使用手册
  16. mysql outer join报错_千与千寻-MySQL联结join
  17. JQuery对象与JavaScript对象的区别与转换
  18. AI智能写作将改变文学创作的未来?
  19. torch.repeat()与numpy.repeat()和 numpy.tile()比较
  20. CNN反向传播源码实现——CNN数学推导及源码实现系列(4)

热门文章

  1. SpringCloud相关概念介绍
  2. 模块化操作(es6写法)
  3. 分布式文件系统研究-测试-搭建测试环境
  4. POI文件导入:代码实现-解析Excel构造用户列表
  5. 数据库-优化-Limit查询的优化
  6. 静态方法-应用场景和定义方式
  7. linux相关函数,linux学习-信号相关函数
  8. python实例化类执行顺序_Python实例化class的执行顺序
  9. linux 杀死脚本,linux – 如何在Bash脚本被杀死时杀死当前命令
  10. php的验证码要gd库,怎么在PHP中使用GD库实现一个验证码功能