python中非同步非阻塞如何實現
說明
1、當一個非同步過程呼叫發出後,呼叫者不會立刻得到結果。
實際處理這個呼叫的部件是在呼叫發出後,透過狀態、通知來通知呼叫者,或透過回撥函式處理這個呼叫。
2、非阻塞的意思是,不能立刻得到結果之前,該函式不會阻塞當前執行緒,而會立刻返回。
例項
from time import time, sleep """ 同步操作 """ def app01(): def fn1(): sleep(3) print("fn1 ...") def fn2(): sleep(2) print("fn2 ...") def fn3(): sleep(5) print("fn3 ...") fn1() fn2() fn3() """ asyncio """ def app02(): import asyncio async def fn1(): await asyncio.sleep(3) print("fn1 ...") async def fn2(): await asyncio.sleep(2) print("fn2 ...") async def fn3(): await asyncio.sleep(5) print("fn3 ...") loop = asyncio.get_event_loop() tasks = [ fn1(), fn2(), fn3() ] loop.run_until_complete(asyncio.wait(tasks)) loop.close() if __name__ == '__main__': startTime = time() # app01() app02() endTime = time() print('花費了', str(endTime - startTime), '秒') # 第一個 10s # 第二個 5s
以上就是python中非同步非阻塞的實現,希望對大家有所幫助。更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2829518/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- 同步、非同步、阻塞、非阻塞非同步
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步
- 同步、非同步、阻塞和非阻塞非同步
- [轉]阻塞/非阻塞與同步/非同步非同步
- 同步與非同步 阻塞與非阻塞非同步
- 同步、非同步、阻塞、非阻塞的區別非同步
- 如何解讀 Java IO、NIO 中的同步阻塞與同步非阻塞?Java
- Node中非同步和同步的實現非同步
- 乾坤大挪移,如何將同步阻塞(sync)三方庫包轉換為非同步非阻塞(async)模式?Python3.10實現。非同步模式Python
- 徹底搞懂同步非同步與阻塞非阻塞非同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- 同步、非同步、阻塞、非阻塞的簡單理解非同步
- 同步與非同步、阻塞與非阻塞的理解非同步
- java同步非阻塞IOJava
- 非同步和非阻塞非同步
- 同步阻塞、同步非阻塞、多路複用的介紹
- tornado原理介紹及非同步非阻塞實現方式非同步
- 大白話搞懂什麼是同步/非同步/阻塞/非阻塞非同步
- socket阻塞與非阻塞,同步與非同步、I/O模型非同步模型
- 網路IO之阻塞、非阻塞、同步、非同步總結非同步
- Python中非同步模式Python非同步模式
- 如何給女朋友解釋什麼是IO中的阻塞、非阻塞、同步、非同步?非同步
- 怎樣理解阻塞非阻塞與同步非同步的區別?非同步
- 一篇文章讀懂阻塞,非阻塞,同步,非同步非同步
- ♻️同步和非同步;並行和併發;阻塞和非阻塞非同步並行
- [譯] 非同步程式設計:阻塞與非阻塞非同步程式設計
- 程式執行緒、同步非同步、阻塞非阻塞、併發並行執行緒非同步並行
- 聊聊執行緒與程式 & 阻塞與非阻塞 & 同步與非同步執行緒非同步
- 對於同步、非同步、阻塞、非阻塞的幾點淺薄理解非同步
- 併發-0-同步/非同步/阻塞/非阻塞/程式/執行緒非同步執行緒
- Socket程式設計中的同步、非同步、阻塞和非阻塞(轉)程式設計非同步
- 【OS】同步非同步/阻塞非阻塞、併發並行序列的區分非同步並行
- 對執行緒、協程和同步非同步、阻塞非阻塞的理解執行緒非同步