asyncio.wait_for(aw,timeout,*,loop=None)
timeout可以是None也可以是一个float或int类型的数字,表示需要等待的秒数。如果timeout是None,则永不超时,一直阻塞到aw执行完毕。
如果达到timeout时间,将会取消待执行的任务,引发asyncio.TimeoutError。
如果想避免任务被取消,可以将其封装在shield()中。
如果await_for()被取消,aw也会被取消。
loop参数将在Python3.10中删除,所以不推荐使用。

import time
async def test():print(2)await asyncio.sleep(3)return 3
async def main():print(1)result = await test()print(result)print(4)
start = time.perf_counter()
# asyncio.run(main())
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(asyncio.wait([main(), main(), asyncio.wait_for(main(), timeout=1.0)]))
end = time.perf_counter()
print(end - start)
1
2
1
2
1
2
Task exception was never retrieved
3
4
3
4
3.002585000000181
future: <Task finished coro=<wait_for() done, defined at D:\anaconda3\envs\async\lib\asyncio\tasks.py:397> exception=TimeoutError()>
Traceback (most recent call last):File "D:\anaconda3\envs\async\lib\asyncio\tasks.py", line 449, in wait_forraise futures.TimeoutError()
concurrent.futures._base.TimeoutError

python异步编程案例之超时相关推荐

  1. Python——异步编程案例

    摘要 主要是讲解Python中的异步编程的下的实际的案例 案例:异步操作redis 案例:异步操作MySQL 案例:FastAPl框架异步 案例:异步爬虫 课程总结

  2. python异步编程案例之Future和Task

    Future,是对协程的封装,代表一个异步操作的最终结果,其值会在将来被计算出来.当一个Future对象被await的时候,表示当前的协程会持续等待,直到 Future对象所指向的异步操作执行完毕.日 ...

  3. python异步编程案例之协程执行和停止

    执行协程 asyncio提供了三种执行协程的机制 使用asyncio.run()执行协程(仅限于python3.7以上版本).此函数总是创建一个新的事件循环,并在最后关闭它.建议将它用作asyncio ...

  4. python 异步编程——asyncio

    python 异步编程--asyncio 摘要 1. 协程 1.1 基本概念 1.2 实现方法 1.2.1 greenlet 1.2.2 yield 1.2.3 asyncio模块 1.2.4 asy ...

  5. Python异步编程详解

    一.异步编程相关概念 1.I/O模型 IO操作实际过程涉及到内核和调用这个IO操作的进程.对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝 ...

  6. Python异步编程实战入门:从概念到实战

    概述 读者可前往我的博客获得更好的阅读体验 在Python中存在GIL机制,该机制保证了在Python中同时间内仅能运行一行代码,这导致了Python无法真正实现多线程,但可以通过多进程打破GIL限制 ...

  7. python2异步编程_最新Python异步编程详解

    我们都知道对于I/O相关的程序来说,异步编程可以大幅度的提高系统的吞吐量,因为在某个I/O操作的读写过程中,系统可以先去处理其它的操作(通常是其它的I/O操作),那么Python中是如何实现异步编程的 ...

  8. Python花式编程案例集锦(9):sorted()函数中消失的cmp参数

    明天开启全国巡讲Python模式,连续8场20天讲课,外加路上来回大约16天,这个假期有的忙了.所以接下来的一段时间里不一定能像以前更新的那么频繁,我尽量. 在很久很久很久以前,公众号曾经推送过这样一 ...

  9. Python花式编程案例集锦(8):判断吉祥数字

    问题描述:在有些文化中,认为含有8的数字是吉祥数字,能给自己带来好运.要求编写一个函数测试给定的数字是否为吉祥数字. 参考代码: 代码运行没有输出,说明两种方法是等价的. 思考题:在checkLuck ...

最新文章

  1. OCR文字识别软件的快速任务功能如何用
  2. Mysql学习总结(25)——MySQL外连接查询
  3. 使用debug工具修改寄存器中的值
  4. kdj指标主要看哪个值_悟空CRM:在线crm主要看这两个指标,都非常重要!
  5. mac docker搭建开发环境
  6. 【软件工程】用例间的关系
  7. MySQL 修改字段
  8. GMQ钱包致力成为您数字资产安全的保护伞
  9. 二叉树的前中后层遍历
  10. qt 在qtextedit显示数组_QtWidget: 设置QTextEdit的各种颜色
  11. java部署容器_Linux容器——Docker(二)之 JavaWeb部署
  12. 研磨设计模式之工厂方法模式-2
  13. 5.郝斌C语言笔记——运算符
  14. 万能声卡驱动精灵2016官方版
  15. 论文阅读 decaNLP -- The Natural Language Decathlon: Multitask Leaning as Question Answering
  16. hau 1825 第一道拓扑排序题
  17. 嵌入式Linux开发常用命令总结
  18. CodeFun-UI 设计稿智能生成前端源代码
  19. main c语言中变量的定义,C语言中在main函数中定义的变量是全局变量么_后端开发...
  20. 【NVM】node多个版本管理工具安装步骤以及使用

热门文章

  1. 零基础转行web前端应该选择哪个方向?
  2. tensorflow学习笔记(三):手写字符识别实例
  3. 不要再担心旅游景点英语翻译问题啦
  4. 透视Android系统AMS、PMS和WMS,了解开发中的重要角色
  5. C语言再学习 -- abs、fabs、fabsf函数的用法区别
  6. 辉太郎看前端(继承)
  7. 解决Failed to get response from https://registry.npmmirror.com/eslint问题
  8. PowerDesigner 入门使用教程
  9. 下载怎么办,试试Aria2
  10. 昊帆生物提交注册:预计2022年度收入约5亿元,朱勇为实控人