日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Python?asyncio異步編程簡(jiǎn)單實(shí)現(xiàn)示例_python

作者:永遠(yuǎn)是少年啊 ? 更新時(shí)間: 2023-03-16 編程語(yǔ)言

今天繼續(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以上的版本中使用。

原文鏈接:https://blog.csdn.net/weixin_40228200/article/details/128622297

欄目分類
最近更新