| 知乎专栏 |
from fastapi import APIRouter
import time
import asyncio
router = APIRouter()
@router.get("/a")
async def a():
time.sleep(1)
return {"message": "异步模式,但是同步执行sleep函数,执行过程是串行的"}
@router.get("/b")
async def b():
loop = asyncio.get_event_loop()
await loop.run_in_executor(None, time.sleep, 1)
return {"message": "异步线程池中运行sleep函数"}
@router.get("/c")
async def c():
await asyncio.sleep(1)
return {"message": "异步模式,且异步执行sleep函数"}
@router.get("/d")
def d():
time.sleep(1)
return {"message": "同步模式"}