Python asyncio異步編程簡單實現(xiàn)示例
今天繼續(xù)給大家介紹Python相關知識,本文主要內(nèi)容是Python asyncio異步編程簡單實現(xiàn)。
一、asyncio事件循環(huán)簡介
asyncio引入了事件循環(huán)的概念。事件循環(huán)是一個死循環(huán),還循環(huán)會檢測并執(zhí)行某些代碼。在Python中,引入了asyncio模塊后,執(zhí)行命令:
loop=asyncio.get_event_loop()
可以生成一個事件循環(huán),而執(zhí)行命令:
loop.run_until_complete(TASK)
則可以將一個任務TASK放入該事件循環(huán)的任務列表,并使得事件循環(huán)開始運行。當事件循環(huán)中的所有事件執(zhí)行完畢后,事件循環(huán)會退出。
二、async協(xié)程函數(shù)簡介
在Python3.5以后,引入了async關鍵字,使用async關鍵字修飾的函數(shù),即為協(xié)程函數(shù)。例如:
async def fun():pass
協(xié)程函數(shù)在調(diào)用后,不會立即執(zhí)行,而是會返回一個協(xié)程對象。協(xié)程對象結(jié)合事件循環(huán),即可執(zhí)行。
三、await關鍵字
await關鍵字是Python3.5以后和async關鍵字一起引入的關鍵字。該關鍵字后面可以跟協(xié)程對象、Future對象以及Task對象。
四、async異步編程簡單實現(xiàn)
下面,我們就根據(jù)上述理論,簡單實現(xiàn)有一個async異步函數(shù),代碼如下所示:
import asyncio async def fun(): print("start") await asyncio.sleep(2) print("end") asyncio.run(fun())
上述代碼執(zhí)行結(jié)果如下所示:
注意,在上述代碼中,我們使用了asyncio.run()函數(shù),該函數(shù)可以快速執(zhí)行協(xié)程函數(shù),但是這個函數(shù)只可以在Python3.7以上的版本中使用。
到此這篇關于Python asyncio異步編程簡單實現(xiàn)示例的文章就介紹到這了,更多相關Python asyncio異步編程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python使用asyncio實現(xiàn)異步操作的示例
- Python中asyncio的多種用法舉例(異步同步)
- Python使用asyncio處理異步編程的代碼示例
- Python使用asyncio包實現(xiàn)異步編程方式
- Python異步庫asyncio、aiohttp詳解
- python協(xié)程異步IO中asyncio的使用
- Python使用asyncio標準庫對異步IO的支持
- Python協(xié)程異步爬取數(shù)據(jù)(asyncio+aiohttp)實例
- Python使用asyncio異步時的常見問題總結(jié)
- Python asyncio異步編程常見問題小結(jié)
- Python中asyncio庫實現(xiàn)異步編程的示例
相關文章
如何將自己的python庫打包成wheel文件并上傳到pypi
這篇文章主要介紹了如何將自己的python庫打包成wheel文件并上傳到pypi,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04Python基礎知識+結(jié)構(gòu)+數(shù)據(jù)類型
這篇文章主要介紹了Python基礎知識+結(jié)構(gòu)+數(shù)據(jù)類型,文章基于python基礎知識圍繞主題展開詳細內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05python根據(jù)開頭和結(jié)尾字符串獲取中間字符串的方法
這篇文章主要介紹了python根據(jù)開頭和結(jié)尾字符串獲取中間字符串的方法,涉及Python操作字符串截取的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03Pytorch之8層神經(jīng)網(wǎng)絡實現(xiàn)Cifar-10圖像分類驗證集準確率94.71%
這篇文章主要介紹了Pytorch之8層神經(jīng)網(wǎng)絡實現(xiàn)Cifar-10圖像分類驗證集準確率94.71%問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03python?泛型函數(shù)--singledispatch的使用解讀
這篇文章主要介紹了python?泛型函數(shù)--singledispatch的使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09