首页
文章列表
标签墙
返回找工具啦
asyncio
共 14 篇文章
Python协程Asyncio中Task取消信号的传递与处理
2026-05-13 09:19:37
Python协程Asyncio中Task取消信号的传递与处理 在Asyncio编程中,Task(任务)是协程的载体。当需要停止一个正在运行的协程时,就需要用到Task的取消机制。理解并正确处理Task的取消信号,是编写健壮异步程序的关键。 1. 理解Task取消 Task取消不是强制终止,而是向协程
Python
协程
Asyncio
43
0
Python asyncio.TaskGroup取代gather的结构化并发
2026-05-05 11:19:29
Python asyncio.TaskGroup取代gather的结构化并发 在 Python 异步编程中,管理多个并发任务长期以来依赖于 asyncio.gather。然而,gather 在处理异常和任务取消时存在局限性,往往需要编写大量样板代码来确保“要么全做,要么全不做”。Python 3.1
Python
asyncio
异步编程
49
0
Python asyncio.wait_for对协程设置超时并取消
2026-05-04 21:25:36
Python asyncio.waitfor对协程设置超时并取消 在编写异步程序时,经常会遇到外部请求响应慢或 IO 操作卡住的情况。如果不做处理,这些挂起的协程会无限期占用资源。asyncio.waitfor 提供了一种机制,强制限制协程的运行时间。一旦超时,它会自动取消协程并抛出异常。 以下介绍
Python
asyncio
协程
48
0
Python asyncio.timeout在Python 3.11中的新用法
2026-05-04 00:27:57
Python 3.11 引入了 asyncio.timeout 作为处理异步操作超时的新标准方式。相比于旧版的 asyncio.waitfor,它提供了更灵活的上下文管理器接口,支持动态调整超时时间和设置绝对截止时间。以下是在实际代码中使用 asyncio.timeout 的具体步骤。 1. 基础用
Python
asyncio
异步编程
45
0
Python asyncio事件循环在百万级WebSocket连接中的调度优化
2026-05-01 08:19:32
Python asyncio事件循环在百万级WebSocket连接中的调度优化 在Python中处理百万级WebSocket连接时,标准的asyncio实现往往会因为调度开销、内存管理和文件描述符限制而崩溃。要达到这一量级,必须从底层的事件循环替换开始,逐步优化对象创建策略与操作系统参数。 第一阶段
Python
asyncio
uvloop
58
0
Python asyncio.Event在协程间事件通知的用法
2026-04-29 01:15:27
asyncio.Event 是 Python asyncio 库中用于协程间简单通信的同步原语。它的作用类似于一个线程安全的标志位,允许一个或多个协程等待某个事件发生,直到另一个协程将该事件标志位设为“真”。这就好比比赛中的发令枪,裁判(主控协程)鸣枪(设置事件),所有运动员(等待协程)听到枪响后同
Python
asyncio
协程
68
0
Python asyncio.gather的return_exceptions异常处理模式
2026-04-25 10:23:07
Python asyncio.gather的returnexceptions异常处理模式 asyncio.gather 是 Python 并发编程中用于批量运行协程的常用工具。默认情况下,只要其中有一个任务出错,整个流程就会立即抛出异常,导致未完成的任务被中断或无法获取已完成任务的结果。为了解决“部
Python
asyncio
并发编程
46
0
Python asyncio与多线程的性能对比:IO密集场景实测
2026-04-21 20:21:54
Python asyncio与多线程的性能对比:IO密集场景实测 在处理网络爬虫、数据库查询或API请求等IO密集型任务时,CPU大部分时间都在等待IO操作完成。为了提升效率,Python提供了多线程和异步IO两种主流并发方案。本文将通过模拟访问500台数据库的场景,实测对比两者的性能差异,并解析背
Python
Asyncio
多线程
54
0
Python asyncio.Semaphore在限制并发请求数中的应用
2026-04-19 22:16:21
Python asyncio.Semaphore在限制并发请求数中的应用 当使用 asyncio 处理大量网络请求(如爬虫或API调用)时,为了追求极致速度,往往会创建成千上万个并发任务。如果不加限制,这种“瞬时爆发”的流量会瞬间耗尽本地带宽、导致目标服务器触发拒绝服务保护,甚至直接封禁IP。asy
Python编程
异步编程
并发控制
86
0
Python 事件循环:asyncio.get_event_loop() 的使用
2026-04-13 07:24:12
Python 事件循环:asyncio.geteventloop 的使用 在 Python 异步编程中,事件循环是核心调度机制。asyncio.geteventloop 曾是获取当前事件循环的标准方法,但在 Python 3.10 及更高版本中已被标记为废弃,并推荐使用 asyncio.run。为了
Python编程
异步编程
事件循环
59
0
Python 协程任务:asyncio.create_task() 与 gather()
2026-04-06 12:16:56
Python 协程任务:asyncio.createtask 与 gather Python 的 asyncio 库通过协程实现了并发编程,但在实际开发中,如何正确调度和等待这些协程是核心难点。asyncio.createtask 和 asyncio.gather 是两个最常用的调度工具,前者负责将
Python
asyncio
协程
73
0
Python 异步IO:aiohttp 与 asyncio 结合
2026-04-05 16:38:48
Python 异步 IO:aiohttp 与 asyncio 结合 现代 Web 应用对并发处理能力的要求越来越高。传统的同步编程模型在处理大量 I/O 操作时,往往会让程序陷入"等待"的困境——CPU 明明在空转,却只能眼巴巴地等着网络请求返回结果。异步 IO 正是为了解决这一痛点而生,它允许程序
Python
异步IO
asyncio
67
0
Python 异步IO:asyncio 事件循环与任务管理
2026-04-02 16:40:17
Python 异步IO:asyncio 事件循环与任务管理 Python 的 asyncio 模块让你能用协程(coroutine)高效处理大量 I/O 密集型任务,比如网络请求、文件读写等。它的核心是事件循环(event loop),负责调度和运行协程。理解事件循环和任务(Task)的管理机制,是
Python异步
asyncio
事件循环
81
0
Python 异步生成器:async for 循环的使用
2026-04-02 05:30:11
Python 异步生成器:async for 循环的使用 Python 中的 async for 循环用于遍历异步可迭代对象(asynchronous iterable),最常见的是异步生成器(asynchronous generator)。它允许你在等待 I/O 操作(如网络请求、文件读取)的同时
Python
异步生成器
asyncfor
67
0