女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python協程之yield break簡析

冬至配餃子 ? 來源:繆斯之子 ? 作者:肖新苗 ? 2022-08-24 17:47 ? 次閱讀

目標

協程中斷, 并交出控制權

想說的話

本系列主要側重理解, 而不是編程初期的知識學習, 當我想要理解協程中斷的時候, 搜索了很多文章, 都指向需要使用asyncio.get_event_loop(), 但這是一個封裝了很多邏輯的代碼, 為了直觀理解, 編寫了如下例子

例子說明

每一行程序都是按順序一步一步執行的,如果有程序不是按順序執行,表示曾經交出了控制權,以下的例子,本來應該應該順序輸出1,2,但是因為req1交出了控制權,所以,輸出了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

'''
結果:
正常打印 2
延遲打印 1
'''


審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 中斷
    +關注

    關注

    5

    文章

    904

    瀏覽量

    42523
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86179
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    請問NICE處理器與傳統ocb外設相比的優勢有什么?

    使用擴展指令調用NICE處理器完成預定操作,給出的優勢通常為代替CPU處理數據,但其實使用片上總線掛一個外設,然后驅動外設完成操作也可以實現相同的功能,所以想問一下處理器相比于外設實現還有沒有其它方面的優勢
    發表于 05-29 08:21

    10分鐘上手寫代碼,LuatOS程輕松掌握!

    10分鐘學會LuatOS程,從此你的程序也能像通勤族利用碎片時間一樣游刃有余。現在就去動手試一試,開啟異步編程新體驗! 寫給第一次聽說程的你?: 別怕!程不是復雜概念,看完這篇,10分鐘就能
    的頭像 發表于 04-10 15:18 ?174次閱讀
    10分鐘上手寫代碼,LuatOS<b class='flag-5'>協</b>程輕松掌握!

    電機沖刺北交所上市

    近日,北交所網站顯示,常州三電機股份有限公司(以下簡稱“三電機”)答復了第二輪問詢函。三電機此前于2023年12月29日IPO申請獲北交所受理。
    的頭像 發表于 03-28 17:53 ?1053次閱讀

    進程、線程、程傻傻分不清?一文帶你徹底扒光它們的\"底褲\"!

    權(yield)實現協作,單線程內玩出多任務的感覺。 技術細節: 程切換成本≈打哈欠(0.1μs~1μs) 阻塞操作會直接讓出CPU(比如等待網絡請求時,自動切換到其他程) 必須依附于線程(就像
    發表于 03-26 09:27

    Python繪圖Matplotlib快速參考手冊

    ?PYTHON
    發表于 02-07 14:04 ?0次下載

    使用Python實現xgboost教程

    使用Python實現XGBoost模型通常涉及以下幾個步驟:數據準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發表于 01-19 11:21 ?1144次閱讀

    使用TMS320C6416處理器:Turbo處理器(TCP)

    電子發燒友網站提供《使用TMS320C6416處理器:Turbo處理器(TCP).pdf》資料免費下載
    發表于 10-23 10:16 ?0次下載
    使用TMS320C6416<b class='flag-5'>協</b>處理器:Turbo<b class='flag-5'>協</b>處理器(TCP)

    使用TMS320C6416處理器:Viterbi處理器(VCP)

    電子發燒友網站提供《使用TMS320C6416處理器:Viterbi處理器(VCP).pdf》資料免費下載
    發表于 10-21 09:36 ?0次下載
    使用TMS320C6416<b class='flag-5'>協</b>處理器:Viterbi<b class='flag-5'>協</b>處理器(VCP)

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而在深度學習領域
    的頭像 發表于 08-01 15:27 ?3078次閱讀

    Python建模算法與應用

    Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python在多個平臺
    的頭像 發表于 07-24 10:41 ?1091次閱讀

    Python在AI中的應用實例

    Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI中的幾個關鍵應用實例,包括機器學習、深度學習、自然語言處理、
    的頭像 發表于 07-19 17:16 ?2393次閱讀

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現文件復制的特殊方法。下面我們開始學習這九種不同的方法來實現 Pyt
    的頭像 發表于 07-18 14:53 ?691次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1931次閱讀

    用pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一個流行的Python集成開發環境
    的頭像 發表于 07-11 10:11 ?1331次閱讀

    安裝esp-idf配置install.sh出錯了怎么解決?

    recent call last): File \"/usr/local/lib/python3.6/dist-packages/pip/_vendor/urllib3/response.py\", line 425, in _error_catcher yield
    發表于 06-24 07:37