2

gevent文档:

greenlet 都在同一个 OS 线程中运行,并且是协同调度的。

来自asyncio文档:

该模块提供了使用协程编写单线程并发代码的基础设施。asyncio确实提供

尽我所能,我没有遇到任何实现多线程或多进程协同程序的主要 Python 库,即跨多个线程传播协同程序以增加可以建立的 I/O 连接的数量。

我理解协程本质上允许主线程暂停执行这一个 I/O 绑定任务并继续执行下一个 I/O 绑定任务,仅当其中一个 I/O 操作完成并需要处理时才强制中断。如果是这种情况,那么将 I/O 任务分布在多个线程上,每个线程都可以在不同的内核上运行,显然应该会增加您可以发出的请求数量。

也许我误解了协程是如何工作的或者是如何工作的,所以我的问题分为两部分:

  1. 是否有可能拥有一个在多个线程(可能在不同的内核上)或多个进程上运行的协程库?

  2. 如果有,这样的图书馆吗?

4

0 回答 0