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