知乎专栏 |
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": "同步模式"}