【发布时间】:2018-09-03 18:54:01
【问题描述】:
我有一个新项目,我计划将aiohttp 与uWSGI 一起使用。我发现 uWSGI 通过greentlet 支持 asyncio。我还对 greenlet 进行了一些研究,发现它也提供了event loop。所以作为 python 的新手(来自 Node.js 世界)。我有几个关于 python 异步编程的问题。
如果 asyncio 提供事件循环,为什么我必须使用 greenlet 作为挂起/恢复引擎来将 aiohttp 与 uWSGI 集成? asyncio 不提供挂起/恢复引擎?
为了让 pyhton 像 Node.js 系统一样工作,它需要使用组合循环引擎、挂起/恢复引擎和 I/O 引擎(就像 Node.js 使用 libuv)?
我看了一下这个Differences between gevent and tornado ,答案提到它们是不同的。正如答案所说,gevent 使用协程,asyncio 也提供协程,这是否意味着 gevent 使用与 asyncio 相同的技术?
greenlet 和 asyncio 可以互换使用吗?还是两者都用?
【问题讨论】:
标签: python uwsgi python-asyncio gevent