目標(biāo)
協(xié)程中斷, 并交出控制權(quán)
想說(shuō)的話
本系列主要側(cè)重理解, 而不是編程初期的知識(shí)學(xué)習(xí), 當(dāng)我想要理解協(xié)程中斷的時(shí)候, 搜索了很多文章, 都指向需要使用asyncio.get_event_loop(), 但這是一個(gè)封裝了很多邏輯的代碼, 為了直觀理解, 編寫(xiě)了如下例子
例子說(shuō)明
每一行程序都是按順序一步一步執(zhí)行的,如果有程序不是按順序執(zhí)行,表示曾經(jīng)交出了控制權(quán),以下的例子,本來(lái)應(yīng)該應(yīng)該順序輸出1,2,但是因?yàn)閞eq1交出了控制權(quán),所以,輸出了2,1
import time
from collections import deque
_delay = deque()
def sleep0():
yield
return None
def req1():
yield
b = yield from sleep0()
return 1
def req2():
yield
return 2
f1 = req1()
f1.send(None)
try:
result = f1.send(None)
except StopIteration as e:
print(f'正常打印 {e.value}')
pass
else:
_delay.append((f1, 1+time.time()))
f = req2()
f.send(None)
try:
f.send(None)
except StopIteration as e:
print(f'正常打印 {e.value}')
pass
for i, v in _delay:
start = v
while True:
end = time.time()
if start < end:
try:
result = i.send(None)
except StopIteration as e:
print(f'延遲打印 {e.value}')
pass
break
pass
'''
結(jié)果:
正常打印 2
延遲打印 1
'''
審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
電子發(fā)燒友網(wǎng)站提供《使用TMS320C6416協(xié)處理器:Turbo協(xié)處理器(TCP).pdf》資料免費(fèi)下載
發(fā)表于 10-23 10:16
?0次下載
電子發(fā)燒友網(wǎng)站提供《使用TMS320C6416協(xié)處理器:Viterbi協(xié)處理器(VCP).pdf》資料免費(fèi)下載
發(fā)表于 10-21 09:36
?0次下載
在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語(yǔ)言之一。Python的易學(xué)易用、豐富的庫(kù)和框架以及強(qiáng)大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語(yǔ)言。而在深度學(xué)習(xí)領(lǐng)域
發(fā)表于 08-01 15:27
?2196次閱讀
巖土工程監(jiān)測(cè)中振弦采集儀的布設(shè)方案及實(shí)施步驟簡(jiǎn)析 巖土工程監(jiān)測(cè)中,河北穩(wěn)控科技振弦采集儀是一種常用的地下水位和土層壓縮性監(jiān)測(cè)工具。它通過(guò)采集振弦的振動(dòng)信號(hào)來(lái)確定地下水位和土層的壓縮性,為巖土
發(fā)表于 05-06 13:25
?283次閱讀
智慧路燈桿是一種兼具智能化和多功能的新型物聯(lián)網(wǎng)基礎(chǔ)設(shè)施,通過(guò)搭載一鍵告警對(duì)講盒,能夠大大豐富安防及報(bào)警求助資源,對(duì)提升城市的安全性和管理效能具有重要的作用。本篇就結(jié)合城市中的不同場(chǎng)景,簡(jiǎn)析智慧燈桿一鍵告警功能的實(shí)用功能。
發(fā)表于 04-28 16:42
?395次閱讀
假設(shè)有一個(gè)方波,周期是T,占空比τ為0.5,幅度為1,如下圖所示。
發(fā)表于 04-25 10:49
?1716次閱讀
簡(jiǎn)析城市綜合管廊能效管理平臺(tái)在火災(zāi)防控與消防設(shè)計(jì) 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要:城市綜合管廊中布置很多管線,將其稱之為地下生命線,雖然沒(méi)有大量人員聚集,但是一旦這個(gè)
發(fā)表于 04-11 16:39
?323次閱讀
簡(jiǎn)析電氣火災(zāi)的原因及其對(duì)策 張穎姣 安科瑞電氣股份有限公司?上海嘉定201801 摘要:隨著人們生活水平的提高,電氣已成為日常生活及生產(chǎn)作業(yè)中必不可少的能源。電給人們帶來(lái)便利的同時(shí),也存在著一定
發(fā)表于 03-12 10:18
?585次閱讀
OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡(jiǎn)析前言 OpenHarmony 4.0上藍(lán)牙倉(cāng)和目錄結(jié)構(gòu)進(jìn)行一次較大整改,本文基于4.0以上版本對(duì)藍(lán)牙代碼進(jìn)行分析,便于讀者快速了解和學(xué)習(xí)
發(fā)表于 02-26 16:08
?1655次閱讀
簡(jiǎn)析電動(dòng)汽車的有序充電管理及其對(duì)配網(wǎng)的影響分析 張穎姣 安科瑞電氣股份有限公司?上海嘉定201801 摘要:電動(dòng)汽車以無(wú)序充電方式接入配電網(wǎng)時(shí)與網(wǎng)內(nèi)基礎(chǔ)用電負(fù)荷疊加,會(huì)形成峰上加峰的現(xiàn)象,不利于
發(fā)表于 02-26 11:01
?530次閱讀
簡(jiǎn)析電動(dòng)汽車交流充電樁系統(tǒng)的設(shè)計(jì)方案 張穎姣 安科瑞電氣股份有限公司?上海嘉定201801 摘要:作為新能源汽車的基礎(chǔ)動(dòng)力裝置,交流充電樁也是可以促使新能源汽車正常行駛的關(guān)鍵內(nèi)容。與其他汽車
發(fā)表于 02-26 11:00
?1818次閱讀
簡(jiǎn)析大數(shù)據(jù)技術(shù)下智能充電樁在網(wǎng)絡(luò)系統(tǒng)中的應(yīng)用 張穎姣 安科瑞電氣股份有限公司?上海嘉定 201801 摘要:*近幾年來(lái)隨著我國(guó)經(jīng)濟(jì)社會(huì)的飛速發(fā)展,各方面實(shí)力都有了明顯的提升,尤其是步入21世紀(jì)以來(lái)
發(fā)表于 02-26 10:57
?480次閱讀
簡(jiǎn)析新能源電動(dòng)汽車充電樁選型與安裝的探討 張穎姣 安科瑞電氣股份有限公司?上海嘉定201801 摘要:大力發(fā)展和推廣電動(dòng)汽車是國(guó)家發(fā)展新能源、清潔能源以應(yīng)對(duì)日益突出的燃油供求矛盾和環(huán)境污染問(wèn)題,加大
發(fā)表于 02-26 10:56
?730次閱讀
簡(jiǎn)析電動(dòng)汽車充電樁檢測(cè)技術(shù)應(yīng)用及分析 張穎姣 安科瑞電氣股份有限公司?上海嘉定 201801 摘要:直流和交流充電樁是我國(guó)當(dāng)前電動(dòng)汽車充電樁中投運(yùn)數(shù)量多的種類,為了維持正常運(yùn)行和使用,更要對(duì)檢測(cè)
發(fā)表于 02-26 10:52
?1530次閱讀
隨著異步編程的發(fā)展以及各種并發(fā)框架的普及,協(xié)程作為一種異步編程規(guī)范在各類語(yǔ)言中地位逐步提高。我們不單單會(huì)在自己的程序中使用協(xié)程,各類框架如fastapi,aiohttp等也都是基于異步以及協(xié)程進(jìn)行實(shí)現(xiàn)。那到底什么是
發(fā)表于 01-26 11:36
?1148次閱讀
評(píng)論