别再纠结 async 和 def 了!FastAPI 里的同步异步,一篇文章给你讲明白

1. def helloget(): 普通函数(同步)

你可以把它理解成:一个人在柜台前排队办事,必须等上一个人办完,才能轮到你。

• 一次只能处理一个请求

• 前面的慢,后面的就必须干等

• 代码简单、不容易出错

• FastAPI 也能正常运行

2. async def helloget(): 异步函数

你可以理解成:一个服务员同时招待好几桌客人,不用死等某一桌,有空就去处理别的桌。

• 可以同时处理很多请求

• 遇到等待(读数据库、网络请求)时,不会卡住

• 速度更快、并发能力更强

同步:

@app.get("/") def hello(): return {"msg": "普通函数"}

异步:

@app.get("/async") async def hello(): return {"msg": "异步函数"}

✅ 同步 = 直接写 def 函数名():

✅ 异步 = 写 async def 函数名():