成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 中的 AsyncIO 基礎(chǔ)知識(shí)

開發(fā) 前端
雖然有一些方法可以在Python中實(shí)現(xiàn)并行編程,但它默認(rèn)是單線程語(yǔ)言。要充分利用單線程執(zhí)行的優(yōu)勢(shì),我們可以使用AsyncIO庫(kù)。

雖然有一些方法可以在Python中實(shí)現(xiàn)并行編程,但它默認(rèn)是單線程語(yǔ)言。要充分利用單線程執(zhí)行的優(yōu)勢(shì),我們可以使用AsyncIO庫(kù)。

異步代碼顧名思義,AsyncIO在Python中提供了異步執(zhí)行。異步代碼以非阻塞的方式運(yùn)行。如果一個(gè)函數(shù)等待時(shí)間較長(zhǎng),可以在等待期間執(zhí)行另一個(gè)任務(wù),而不是將所有任務(wù)都暫停。

下面的圖像進(jìn)一步說(shuō)明了同步與異步代碼執(zhí)行的區(qū)別。在等待第一個(gè)響應(yīng)時(shí),我們可以發(fā)出第二個(gè)請(qǐng)求以更好地利用處理能力。

盡管它不使用多線程,但它確實(shí)執(zhí)行代碼的并發(fā)執(zhí)行,并且在許多情況下大大減少了等待時(shí)間。

使用AsyncIOAsyncIO庫(kù)有兩個(gè)重要的關(guān)鍵字:

  1. async
  2. await 我們可以使用async def關(guān)鍵字來(lái)定義協(xié)程。 await關(guān)鍵字用在異步協(xié)程內(nèi),表示程序應(yīng)該在此等待并同時(shí)執(zhí)行其他操作。

看一下下面的代碼示例:

import asyncio
async def co_routine(num):print('進(jìn)入?yún)f(xié)程編號(hào):', num)await asyncio.sleep(2)print('退出協(xié)程編號(hào):', num)
async def main():await asyncio.gather(co_routine(1),co_routine(2),co_routine(3))

asyncio.run(main())以下是輸出結(jié)果!進(jìn)入?yún)f(xié)程編號(hào):

1進(jìn)入?yún)f(xié)程編號(hào): 2進(jìn)入?yún)f(xié)程編號(hào): 3退出協(xié)程編號(hào): 1退出協(xié)程編號(hào): 2退出協(xié)程編號(hào): 3正如您所見(jiàn),我們?cè)诶^續(xù)執(zhí)行協(xié)程2和3之前,不需要等待協(xié)程1完成執(zhí)行。

讓我們逐步看一下代碼。import asyncio這樣導(dǎo)入asyncio庫(kù)到您的Python代碼中。async def co_routine(num):print('進(jìn)入?yún)f(xié)程編號(hào):', num)await asyncio.sleep(2)print('退出協(xié)程編號(hào):', num)這是我們的異步協(xié)程。我們使用async def關(guān)鍵字來(lái)定義它。我們?cè)谶M(jìn)入時(shí)打印一條消息,然后協(xié)程休眠2秒。這里發(fā)生了魔法。await關(guān)鍵字表示我們必須等待,因此程序可以執(zhí)行其他操作。await關(guān)鍵字只能在異步協(xié)程內(nèi)使用!async def main():await asyncio.gather(co_routine(1),co_routine(2),co_routine(3))這定義了我們的異步主程序。asyncio.gather接受多個(gè)協(xié)程調(diào)用,并在它們并發(fā)執(zhí)行后返回。這里,我們運(yùn)行了值為1、2和3的協(xié)程。由于我們必須使用await關(guān)鍵字,所以我們的主程序也被定義為async。

但是,對(duì)于最終的調(diào)用,我們可以使用asyncio.run。asyncio.run(main())這將執(zhí)行我們的主程序,而無(wú)需使用await。

現(xiàn)在,您可以在希望并發(fā)運(yùn)行的程序中使用async/await。

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型

2013-10-22 15:48:35

2011-03-16 11:17:56

IptablesICMP

2021-11-05 15:31:01

UbuntuLinux

2022-03-30 08:37:32

Python函數(shù)編程自定義函數(shù)

2011-11-04 17:26:12

2013-03-27 15:56:05

Android開發(fā)Andriod繪圖

2010-02-03 10:36:56

Python基礎(chǔ)知識(shí)

2021-03-13 10:14:59

Python定義函數(shù)Python基礎(chǔ)

2011-03-16 11:12:06

Iptables

2021-08-18 16:09:39

NestJS

2023-05-12 09:40:53

ContextGolang

2009-04-17 14:22:40

XPathXML基礎(chǔ)

2009-09-23 11:07:11

Hibernate基礎(chǔ)

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2010-07-16 10:53:30

Perl基礎(chǔ)

2023-08-22 21:42:03

Bash函數(shù)

2009-04-10 09:35:00

WCDMA基礎(chǔ)無(wú)線網(wǎng)絡(luò)

2010-07-16 11:22:31

Perl

2011-09-16 10:13:02

Emacs
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99视频在线免费观看 | 日韩日韩日韩日韩日韩日韩日韩 | 91免费小视频 | 成人免费一区二区三区视频网站 | 一区二区三区免费观看 | 亚洲精品欧美 | 中文一区二区 | 国产一级在线 | 国产综合精品一区二区三区 | 中文字幕99 | 免费av直接看 | 91不卡 | 国产成人91视频 | 黄色大片观看 | 欧美性受xxxx| 亚洲视频免费 | 欧美激情精品久久久久久 | 欧美男人天堂 | 337p日本欧洲亚洲大胆精蜜臀 | 日本爱爱视频 | 亚洲综合在线播放 | 日韩欧美在线一区 | 精品久久一区 | 福利精品| 天天搞天天操 | 成人在线免费观看 | 国产精品欧美精品 | 国产精品久久亚洲 | 国产一区二区精品在线 | 亚洲欧美激情精品一区二区 | 区一区二在线观看 | 看片网站在线 | 久久专区 | www.国产| 91免费视频观看 | 国产午夜精品理论片a大结局 | 欧美日韩国产精品一区 | www.色综合 | 亚洲一区二区三区观看 | 国产精品毛片一区二区在线看 | 精品免费国产视频 |