You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何ASGI被定义为“异步”、WSGI被定义为“同步”?

WSGI与ASGI的“同步/异步”命名解惑

你搞反的核心原因是误解了这里“同步”“异步”的定义——它们指的不是同时处理请求的数量,而是请求处理过程中线程/进程的阻塞行为:

  • WSGI的“同步”:单个线程/进程处理请求时,会全程被占用直到请求完成。比如遇到数据库查询、文件读取这类IO操作时,线程会原地等待结果,这段时间完全没法处理其他请求。哪怕服务器开了多进程/多线程实现并发,单个进程/线程同一时间还是只能处理一个请求,这里的“同步”是指处理流程是线性阻塞的。

  • ASGI的“异步”:请求处理过程中遇到IO操作时,线程不会原地死等,而是会释放资源去处理其他请求,等IO操作有结果了再回来继续处理当前请求。这种非阻塞的处理模式,让单个线程就能同时处理多个请求,这里的“异步”指的是处理流程支持挂起和恢复,避免无意义的阻塞。

很多人会把“并发处理请求”和“异步”划等号,但WSGI的多进程/多线程只是并发的一种实现方式,和“异步”不是一回事;ASGI的异步是从处理流程的非阻塞逻辑出发,天然能更高效地实现并发。

内容的提问来源于stack exchange,提问作者Arjun Ajesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:24:53