小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
沉浸式翻译 immersive translate
gRPC Python、AsyncIO与多进程

本文探讨了在Python中整合gRPC、AsyncIO和多进程的挑战。作者在将内部代码库的mesh API服务器集成到gRPC时,面临实现复杂性和GIL限制的问题。尽管尝试了多进程方案,但由于h2的连接复用特性遇到困难。最终,通过结合ProcessPoolExecutor和asyncio,成功实现了gRPC服务器的异步处理。

gRPC Python、AsyncIO与多进程

Est's Blog
Est's Blog · 2025-11-04T02:46:00Z

Python 3.14将于2025年10月7日发布,新增asyncio调试器和多线程支持,允许通过pdb.set_trace_async调试异步代码。还引入了运行时调用图和线程安全的事件循环,提升性能。

Python 3.14:3个Asyncio变化

Jamie's Blog
Jamie's Blog · 2025-10-08T23:00:00Z
第702期:django.tasks、MCP、无GIL的Asyncio及更多(2025年9月30日)

Django 6即将推出django.tasks功能,以简化后台任务管理。Python 3.14增强了asyncio的可扩展性,并引入了PEP 806的混合同步/异步上下文管理器。预计到2025年,Python仍将主导AI和数据科学领域。

第702期:django.tasks、MCP、无GIL的Asyncio及更多(2025年9月30日)

PyCoder’s Weekly
PyCoder’s Weekly · 2025-09-30T19:30:00Z

本文探讨了asyncio的背压问题,指出在处理大量任务时可能导致程序挂起和内存过高。通过信号量和批处理方法进行性能测试,结果表明信号量能有效限制任务创建,降低内存占用,而批处理方法虽然内存高效,但处理时间较长。作者建议在设计模式中考虑这些实现方式的差异。

Asyncio背压问题 - 后续探讨

Jamie's Blog
Jamie's Blog · 2025-09-13T23:00:00Z
第695期:子解释器、Asyncio、Pytest及更多(2025年8月19日)

本文探讨了asyncio的使用时机和工作原理,并提供了构建高效程序的实例,指出社区对asyncio和子解释器的理解仍不够,需要库来简化其复杂性。

第695期:子解释器、Asyncio、Pytest及更多(2025年8月19日)

PyCoder’s Weekly
PyCoder’s Weekly · 2025-08-19T19:30:00Z

asyncio 是 Python 3.4 引入的单线程并发模型,依赖 I/O 等待实现任务切换。分为抢占式和协作式多任务,前者由操作系统调度,后者由任务主动让出执行权。示例代码展示了 asyncio 的基本用法,协程通过事件循环实现并发执行。

asyncio 入门

xxxx的个人博客
xxxx的个人博客 · 2025-08-15T15:53:32Z

PEP-734 subinterpreters in the stdlib has officially been included in the Python 3.14 as a very late addition. subinterpreters now has a new home in the standard library module called...

Subinterpreters and Asyncio

Jamie's Blog
Jamie's Blog · 2025-08-04T23:00:00Z
如何使用Python的asyncio构建高性能I/O密集型应用

Python的asyncio库革新了并发编程,特别适合I/O密集型任务。它通过async和await简化异步应用的开发,提升性能。结合aiohttp库,asyncio能够高效处理网络请求,适用于网页抓取和实时数据流等现代应用。

如何使用Python的asyncio构建高性能I/O密集型应用

DEV Community
DEV Community · 2025-04-17T01:44:16Z
Python中的异步编程 – Asyncio基础

Python中的异步编程通过asyncio框架提高代码性能,避免在等待API响应或数据库查询时阻塞。异步函数用`async def`定义,`await`用于暂停执行,`asyncio.run()`启动事件循环。适合处理多个API调用、网页抓取和实时应用,掌握asyncio能显著提升应用性能。

Python中的异步编程 – Asyncio基础

DEV Community
DEV Community · 2025-04-03T05:07:00Z
理解Python的全局解释器锁(GIL)及通过多线程、多进程和asyncio提升并发性

本文探讨了Python中的并发模型,包括多线程、multiprocessing和asyncio。通过育儿比喻,阐明了多线程与多进程的区别,以及全局解释器锁(GIL)对并发的影响。Python 3.13引入了禁用GIL的选项,为CPU密集型任务提供了新机遇。选择合适的并发模型对提升程序性能至关重要。

理解Python的全局解释器锁(GIL)及通过多线程、多进程和asyncio提升并发性

DEV Community
DEV Community · 2025-02-28T18:59:58Z
在Python中使用aiofiles和asyncio进行异步文件操作

异步编程在Python开发中至关重要。使用aiofiles库可以实现异步文件操作,避免I/O阻塞。示例代码展示了如何异步读取和写入文件,处理多个JSON文件并提取宝可梦技能。这些技术有助于提高代码效率。

在Python中使用aiofiles和asyncio进行异步文件操作

DEV Community
DEV Community · 2025-01-14T22:21:44Z
使用HTTPX和asyncio进行Python中的异步HTTP请求

异步编程在Python中愈发重要,特别是使用HTTPX库进行异步HTTP请求。异步代码可以在等待结果时不阻塞其他代码,从而提升效率。示例代码展示了如何使用async和await关键字进行异步请求,并比较了异步与同步请求的性能,结果表明异步请求显著提高了处理速度。

使用HTTPX和asyncio进行Python中的异步HTTP请求

DEV Community
DEV Community · 2025-01-10T19:41:41Z
介绍BlockBuster:我的asyncio事件循环是否被阻塞?

Python 3.5引入了异步I/O以提升并发性能。使用asyncio时,避免阻塞调用(如网络和文件系统调用)至关重要,因为阻塞会影响事件循环并降低性能。BlockBuster工具可以检测并阻止异步环境中的阻塞调用,帮助开发者优化代码。

介绍BlockBuster:我的asyncio事件循环是否被阻塞?

DEV Community
DEV Community · 2025-01-08T16:47:56Z

如我们之前在 为什么协程 中提到过的: 内核中的公平调度器提供的是抢占着调度能力, 在线程调度到具体的 CPU 上执行一段时间之后, 即使这个线程对应的逻辑执行流仍有指令可以继续执行, 内核也会强行挂起当前执行线程, 转而从可运行队列中选择下一个线程来调度其到 CPU 上运行. 而位于线程中的用户态调度器提供的是协作式调度,...

asyncio 可观测性增强

学习让我快乐
学习让我快乐 · 2024-12-17T16:00:00Z
通过Asyncio规避Python的全局解释器锁(GIL)

Python的全局解释器锁(GIL)确保内存安全,但在多核处理器时代造成性能瓶颈。开发者通过并发和并行技术来应对,使用asyncio可以提高I/O密集型任务的效率,降低内存使用和错误发生率。

通过Asyncio规避Python的全局解释器锁(GIL)

The New Stack
The New Stack · 2024-12-03T17:00:06Z

作者比较了 asyncio 和 gevent 的性能,并通过修改 asyncio 测试程序,使用 Protocol 后,其速度超过了 Redis。测试显示,Python 服务每秒处理 95k 请求,而 Redis 为 91k。尽管如此,Redis 的复杂功能和多线程设计在高并发场景中更具优势。作者指出,新项目常声称比老项目更快,但复杂功能增加后,性能优势可能消失。

Python 的 asyncio 网络性能比 C 写的 Redis 还好?

Skywind Inside
Skywind Inside · 2024-10-10T15:15:00Z

本文讲解了Python中asyncio模块的事件和条件,如何帮助协程顺利运行。asyncio.Event像交通信号灯,协程等待事件触发后继续。asyncio.Condition类似夜店保镖,协程需满足条件才能继续。通过示例代码展示了如何使用这些机制协调协程执行,确保异步代码有序运行。

Python中的Asyncio事件与条件:揭秘异步信号的秘密生活

DEV Community
DEV Community · 2024-10-07T06:13:27Z
2024 年了,是 Gevent 还是选择 asyncio Part 1?

这篇文章主要比较了Django、Flask、FastAPI和Starlette四个框架在Web应用中的性能。通过在Azure上进行压力测试,发现在空转情况下,asyncio的性能要优于Gevent,但在ORM + MySQL Driver的情况下,Gevent的生态要好于asyncio的生态。作者期待下一轮测试结果,看在ORM + PGSQL的情况下会有怎样的结论。

2024 年了,是 Gevent 还是选择 asyncio Part 1?

Manjusaka
Manjusaka · 2024-08-19T17:00:00Z
2024年,选择Gevent还是asyncio?第一部分

这篇文章比较了Gevent和asyncio的性能,并进行了一系列的实验。实验结果显示,asyncio在web框架下的性能比Gevent高出一倍。文章还介绍了实验的配置和测试方法,并给出了各个框架的测试结果。在标准操作下,Django的性能最差,而其他三个框架中,Flask+Gevent > Starlette > FastAPI。在空闲测试中,Starlette的性能最好,FastAPI次之,Flask+Gevent最差。总结来说,asyncio在空闲情况下的性能明显优于Gevent,即使考虑了框架因素,也有10-20%的改进。在ORM + MySQL Driver的情况下,Gevent的生态系统优于asyncio的生态系统。期待下一轮测试的结果。

2024年,选择Gevent还是asyncio?第一部分

Manjusaka
Manjusaka · 2024-08-19T17:00:00Z

Asyncio是一个允许开发者在Python中编写异步程序的模块。本文介绍了使用asyncio创建和管理任务的多种方法,包括使用asyncio.create_task创建任务、使用asyncio.wait_for等待任务完成、使用asyncio.gather同时运行多个任务、使用asyncio.as_completed处理任务完成的结果、以及使用asyncio.TaskGroup管理任务组。了解和掌握这些方法可以帮助开发者更好地利用异步编程的潜力,使应用程序更加健壮和可扩展。

使用 Asyncio 创建和管理任务

DEV Community
DEV Community · 2024-08-14T15:06:09Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码