常见问题

Frequently Asked Questions

为什么 Curio 不支持作为后端?

Why is Curio not supported as a backend?

在 AnyIO 3.0 之前版本中,AnyIO 支持 Curio。支持被移除的原因有以下两点:

  1. Curio 的接口仅允许协程函数访问 Curio 内核。这迫使 AnyIO 在其 API 设计中采取相同的策略,从而使依赖同步回调的现有应用程序难以适配 AnyIO。这也与 AnyIO 希望在相同功能的函数中匹配 Trio 的 API 的目标产生冲突(例如 Event.set())。

  2. Curio 的维护者明确要求将其支持从 AnyIO 中移除(issue 185)。

为什么 Twisted 不支持作为后端?

Why is Twisted not supported as a backend?

支持 Twisted 的最低要求是 sniffio 能够检测到正在运行的 Twisted 事件循环(并能够识别 Twisted 是否在其 asyncio reactor 上运行)。目前, sniffio 不支持此功能,因此 AnyIO 也无法支持 Twisted。

如果您对 AnyIO 中的 Twisted 支持感兴趣,可以关注 Twisted 的相关 问题