关于fastapi的一个问题

来源:15-1 tornado-课程总结

无限灬

2022-08-18

老师你好,想请教一个问题,我记得你在tornado的前面课程中讲过,tornado中不能写同步代码的,必须写async def 和await,因为tornado是基于协程的,一个线程中只要有1个协程阻塞,那么这个线程就阻塞了,我的问题是:fastapi框架中和async def 和def两种定义函数的方法,并且官方文档说这两个方法都能异步工作并且性能很高,那么当使用def的时候,fastapi究竟是将函数转换成协程呢,还是通过多线程来实现高并发呢?希望老师解惑

写回答

1回答

bobby

2022-08-22

fastapi框架中和async def 和def两种定义函数的方法,并且官方文档说这两个方法都能异步工作并且性能很高 这句话文档哪里又说 你发给连接我看看,我没有用过fastapi

0
4
bobby
回复
无限灬
这里提到你可以混用而已,没有提到def和async def的性能一样,也做不到一样, 因为fastapi底层也是asyncio,你可以测试一下在async def中使用一个阻塞方法试试
2022-08-23
共4条回复

Tornado从入门到进阶 打造支持高并发的技术论坛

异步IO并发编程/Form,ORM/aiomysql、peewee-async/epoll

593 学习 · 350 问题

查看课程