当然,考虑到GIL,经典的asyncio设计应该集中在“单事件循环的单主线程”上。然而,是否存在合法的“具有多个事件循环的多线程”用例,这些用例比单一案例带来了一些体系结构或性能优势?请分享。
发布于 2022-06-08 06:10:59
我从不比较在多个线程中使用多个事件循环的性能。
据我所知,asynchronous是一种事件驱动的体系结构,其中单个事件循环依赖于单个线程,运行函数是这个event-loop将等待触发器获得运行时间。这将比线程(理论上)更快,因为我们不再负责资源管理(内存、cpu等)。
线程基本上将尝试管理资源,使它们同时运行,因为它实际上切换了资源的使用。
但两者都被建议并行执行程序,即使它一次不是并发的。为了安全起见,asynchronous更安全,因为它在一个线程中。
https://stackoverflow.com/questions/72523874
复制相似问题