import time
import asyncio
from fastapi import FastAPI
app = FastAPI()
'''
併發兩個請求:阻塞式io,uvicorn開啟的一個執行緒無法同時執行兩個請求,只能一個完成再執行另一個
請求1:
hello
bye
請求2:
hello
bye
'''
@app.get('/1')
async def t1():
print('hello')
time.sleep(5)
print('bye')
'''
併發兩個請求:非阻塞式io,uvicorn開啟的一個執行緒遇到非阻塞io,協程會切換到另一個請求上執行,出現如下效果
請求1:
hello
請求2:
hello
請求1:
bye
請求2:
bye
'''
@app.get('/2')
async def t2():
print('hello')
await asyncio.sleep(5)
print('bye')
'''
併發兩個請求:阻塞式io,使用的是def,會開啟兩個執行緒執行檢視函式,所以會出現如下效果
請求1:
hello
請求2:
hello
請求1:
bye
請求2:
bye
'''
@app.get('/3')
def t3():
print('hello')
time.sleep(5)
print('bye2')
'''
'''
FastAPI之阻塞式io和非阻塞式io
相關文章
- 阻塞IO與非阻塞IO
- 阻塞式IO
- Java 非阻塞 IO 和非同步 IOJava非同步
- IO模式和IO多路複用(阻塞IO、非阻塞IO、同步IO、非同步IO等概念)模式非同步
- [作業系統]阻塞io 非阻塞io Epoll作業系統
- java同步非阻塞IOJava
- Linux 阻塞和非阻塞 IO 實驗學習Linux
- 網路IO之阻塞、非阻塞、同步、非同步總結非同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- Java NIO 阻塞式與非阻塞式Java
- 談談對不同I/O模型的理解 (阻塞/非阻塞IO,同步/非同步IO)模型非同步
- 【死磕NIO】— 阻塞IO,非阻塞IO,IO複用,訊號驅動IO,非同步IO,這你真的分的清楚嗎?非同步
- 從時間碎片角度理解阻塞IO模型及非阻塞模型模型
- 11、協程和io教程01 -- 併發 並行 同步 非同步 阻塞 非阻塞 以及 IO多路複用並行非同步
- IO通訊模型(二)同步非阻塞模式NIO(NonBlocking IO)模型模式BloC
- epoll 非阻塞IO 邊沿觸發模式模式
- 玩轉 PHP 網路程式設計全套阻塞與非阻塞 IOPHP程式設計
- 如何解讀 Java IO、NIO 中的同步阻塞與同步非阻塞?Java
- 阻塞式程式設計和非阻塞式程式設計區別程式設計
- 精講響應式webclient第1篇-響應式非阻塞IO與基礎用法Webclient
- Java網路程式設計和NIO詳解5:Java 非阻塞 IO 和非同步 IOJava程式設計非同步
- IO multiplexing 與 非阻塞網路程式設計程式設計
- IO模式設定網路程式設計常見問題總結—IO模式設定,阻塞與非阻塞模式程式設計
- JAVA阻塞IO(BIO)簡介Java
- 如何給女朋友解釋什麼是IO中的阻塞、非阻塞、同步、非同步?非同步
- 同步、非同步、阻塞和非阻塞非同步
- Node.js中非阻塞IO和事件迴圈Node.js事件
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- 同步、非同步、阻塞、非阻塞非同步
- 非同步和非阻塞非同步
- linux非阻塞式socket程式設計之select()用法Linux程式設計
- ♻️同步和非同步;並行和併發;阻塞和非阻塞非同步並行
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步
- 驅動Driver-阻塞&非阻塞