Python 异步IO的哪个部分是并发的?希望了解实施细节
异步IO模块的描述如下: 此模块提供了编写单线程的基础结构 使用协程的并发代码,通过套接字多路复用I/O访问 和其他资源,运行网络客户端和服务器,以及其他 相关原语Python 异步IO的哪个部分是并发的?希望了解实施细节,python,concurrency,python-asyncio,Python,Concurrency,Python Asyncio,异步IO模块的描述如下: 此模块提供了编写单线程的基础结构 使用协程的并发代码,通过套接字多路复用I/O访问 和其他资源,运行网络客户端和服务器,以及其他 相关原语 我一直在阅读有关新的和非凡的asyncio python模块/包/任何东西的文章。我知道有pythongil,因此asyncio非常适合GIL,因为(目的是)您可以通过单个线程上的事件循环来管理事情。那么什么是并发的呢?看起来,I/O似乎是并发的。我相信I/O操作是由操作系统处理的。那么在asyncio的内部,它是否编写了利用操作系
我一直在阅读有关新的和非凡的asyncio python模块/包/任何东西的文章。我知道有pythongil,因此asyncio非常适合GIL,因为(目的是)您可以通过单个线程上的事件循环来管理事情。那么什么是并发的呢?看起来,I/O似乎是并发的。我相信I/O操作是由操作系统处理的。那么在asyncio的内部,它是否编写了利用操作系统提供的功能的并发C扩展?在asyncio中,单线程IO并发是通过结合许多概念实现的:
future -------------------+---------+
| |
generator ---> coroutine -+-> task -+-> base event loop -+-> selector event loop
|
select ---> selector ------------------------------------+
然而,正如以下事实所证明的那样,没有期货也可以达到同样的目的:
链接 :
future -------------------+---------+
| |
generator ---> coroutine -+-> task -+-> base event loop -+-> selector event loop
|
select ---> selector ------------------------------------+
然而,正如以下事实所证明的那样,没有期货也可以达到同样的目的:
链接 :