小编Din*_*gar的帖子

仅具有异步端点的 FastAPI 应用程序会遇到 GIL 问题吗?

如果所有 fastapi 端点都定义为async def,那么只会有 1 个线程在运行,对吗?(假设有一个独角兽工人)。

只是想确认在这样的设置中,我们永远不会遇到 python 的全局解释器锁。如果在一个具有多个线程的 Flask 框架中为单个 Gunicorn Worker 做同样的事情,那么我们将面临 GIL,它阻碍了线程之间真正的并行性。

所以基本上,在上面的 fastapi 中,并行度限制为 1,因为只有一个线程。为了利用所有核心,我们需要增加使用 Gunicorn 或 uvicorn 的工作人员数量。

我的理解正确吗?

python gil gunicorn fastapi uvicorn

4
推荐指数
1
解决办法
1861
查看次数

标签 统计

fastapi ×1

gil ×1

gunicorn ×1

python ×1

uvicorn ×1