asyncio模块的描述是:
此模块提供了使用协程编写单线程并发代码,通过套接字和其他资源复用I / O访问,运行网络客户端和服务器以及其他相关原语的基础结构 .
我一直在阅读有关新的和非凡的asyncio python模块/包/无论如何 . 我知道有python GIL,因此asyncio非常适合GIL,因为(目的是)你在一个线程上用事件循环来管理事物 . 什么是并发?好吧,似乎I / O似乎是并发的 . 我相信I / O操作由操作系统处理 . 那么在asyncio的内部,它是否编写了一个利用操作系统给出的函数的并发C扩展?
1 回答
在asyncio中,通过组合许多概念来实现单线程IO并发:
然而,正如_1645940所证明的那样,没有期货可以达到同样的目的:
链接
Standard library:
generator
select
selector
native coroutine
Asyncio:
asyncio coroutine
asyncio future
asyncio task
base event loop
selector event loop
Curio:
curio coroutine
curio task
curio kernel