日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

通過例子由淺入深的理解yield協(xié)程

冬至配餃子 ? 來源:繆斯之子 ? 作者:肖新苗 ? 2022-08-23 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

題記

本系列目標(biāo)是通過例子由淺入深的理解協(xié)程.

讀者

需要有一定的python基礎(chǔ), 概念部分建議閱讀經(jīng)典書: 流暢的python 或者 查看w3c school 或者 菜鳥教程

基本概念

生成器:只要 Python 函數(shù)的定義體中有 yield 關(guān)鍵字,該函數(shù)就是生成器函數(shù),調(diào)用生成器函數(shù)返回的是生成器對象

yield關(guān)鍵字:總的來說就是:產(chǎn)出和讓步,產(chǎn)出結(jié)果,讓出控制權(quán)

send:send() 方法致使協(xié)程前進到下一個yield 語句,另外,生成器可以作為協(xié)程使用

例子說明

yield的執(zhí)行流程, 并制作了一個生成器調(diào)用的共同方法print_value

def yield1():
'''
整體解釋:1將作為第一個send方法的返回值,b是第二個send方法的參數(shù),
最后的return是作為最后一個send方法的返回值
'''
# 4.yield1()協(xié)程:阻塞在此,執(zhí)行yield產(chǎn)出結(jié)果為1,把控制權(quán)給主線程
# 9.yield1()協(xié)程:阻塞解除,獲得輸入值2,并賦值給b
b = yield 1
# 10.yield1()協(xié)程:返回b
return b


def yield2():
'''
協(xié)程阻塞在此,執(zhí)行yield產(chǎn)出結(jié)果為None,并交出控制權(quán)給主線程
注: 因為yield后面沒有值,所以是None
'''
yield
# 如果沒有返回值,會return None
pass


def yield3():
yield 1


def print_value(f, args):

try:
# 3.print_value方法:對yield1()協(xié)程執(zhí)行send
# 5.print_value方法:接收yield1()協(xié)程的返回值1,并賦值給b
# 8.print_value方法:對yield1()協(xié)程再次執(zhí)行send,并傳入2
b = f.send(args)
except StopIteration as e:
'''
11.print_value方法:接收yield1()協(xié)程的返回值,
如果是最后一個迭代,就會進入到這個異常捕獲
'''

print(f'{f.__name__}返回值 {e.value}')
return e.value
else:
# 6.print_value方法:打印b
print(f'{f.__name__}接收 ')

'''

1.主線程:`yield1`是生成器函數(shù),`yield1()`調(diào)用生成器函數(shù),

返回生成器對象也可以稱作協(xié)程
'''
ys = [yield1(), yield2(), yield3()]
for y in ys:
# 2.主線程:y是yield1()生成器對象,第一次發(fā)送None
# 12.主線程:y是yield2()生成器對象,第一次發(fā)送None.
# 注:yield2 yield3根yield1差不多所以12步以后的都略過了
print_value(y, None)
# 7.主線程:第二次send參數(shù)為2
print_value(y, 2)


結(jié)果:
yield1接收 1
yield1返回值 2
yield2接收 None
yield2返回值 None
yield3接收 1
yield3返回值 None


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    322

    瀏覽量

    22818
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    解析Linux的進程、線程和協(xié)

    )輕量級:相對于進程,線程的創(chuàng)建和切換開銷較小。 (3)同步與通信:線程之間需要通過同步機制(如互斥鎖、信號量)來保證數(shù)據(jù)的一致性。 協(xié)(Coroutine) 協(xié)
    發(fā)表于 12-22 11:00

    FreeRTOS任務(wù)和協(xié)的區(qū)別是什么

    定義 協(xié)例程實現(xiàn)是通過一組宏提供的。 4. 條件限制 RAM使用量的減少是以在如何構(gòu)建協(xié)方面的一些嚴(yán)格限制為代價的。
    發(fā)表于 12-08 08:18

    ucos與freertos哪個好?

    選擇uCOS或FreeRTOS取決于項目的具體需求和資源限制。 FreeRTOS的優(yōu)點包括: 更小的內(nèi)核ROM和RAM占用,特別是在RAM方面,適合資源受限的嵌入式系統(tǒng)。 支持協(xié)
    發(fā)表于 12-05 07:13

    通過API接口使用關(guān)鍵詞搜索酒店列表

    技術(shù)實踐: 導(dǎo)語:在開發(fā)旅游或酒店預(yù)訂相關(guān)的應(yīng)用程序時,集成第三方平臺的酒店數(shù)據(jù)是常見需求。攜作為國內(nèi)領(lǐng)先的在線旅游服務(wù)平臺,提供了豐富的API接口供開發(fā)者使用。本文將聚焦于如何使用攜提供
    的頭像 發(fā)表于 11-17 14:57 ?1060次閱讀
    <b class='flag-5'>通過</b>攜<b class='flag-5'>程</b>API接口使用關(guān)鍵詞搜索酒店列表

    通過接口獲取攜酒店詳情數(shù)據(jù)的技術(shù)實現(xiàn)

    ?技術(shù)分享: 在開發(fā)旅游類應(yīng)用時,整合酒店數(shù)據(jù)是常見需求。本文將以技術(shù)視角探討如何通過接口獲取攜平臺的酒店詳情數(shù)據(jù)(注:實際商用需獲得官方授權(quán))。 一、接口調(diào)用基礎(chǔ) 認證機制 通常需要申請
    的頭像 發(fā)表于 11-17 14:15 ?557次閱讀
    <b class='flag-5'>通過</b>接口獲取攜<b class='flag-5'>程</b>酒店詳情數(shù)據(jù)的技術(shù)實現(xiàn)

    安達發(fā)|制藥車間在“人腦”排產(chǎn)?APS生產(chǎn)排軟件才是智慧解藥!

    是什么? APS,即高級計劃與排(Advanced Planning and Scheduling),APS生產(chǎn)排軟件是一種基于供應(yīng)鏈管理和約束理論的先進計劃與排系統(tǒng)。它能夠綜合考慮多種因素,如設(shè)備產(chǎn)能、物料供應(yīng)、人員安排
    的頭像 發(fā)表于 11-10 11:00 ?804次閱讀
    安達發(fā)|制藥車間在“人腦”排產(chǎn)?APS生產(chǎn)排<b class='flag-5'>程</b>軟件才是智慧解藥!

    NICE協(xié)處理器接口信號解讀--以demo為例

    的復(fù)位信號。 nice_active表示nice協(xié)處理器是否正在工作,但該信號在上層文件中未例化,如下圖所示。 nice_mem_holdup信號在e203_lsu_ctrl.v文件中用于覆蓋cpu
    發(fā)表于 10-31 08:01

    利用Verdi調(diào)試協(xié)處理器的實現(xiàn)步驟

    的search forward工具按鈕搜索nice_req_valid信號以追蹤到主處理器發(fā)起的調(diào)用請求信號。 結(jié)果如下圖所示。 小結(jié) 本文梳理了調(diào)試過程中的技巧,通過調(diào)試發(fā)現(xiàn)協(xié)處理器設(shè)計不周到的地方,因為能力有限,若是理解
    發(fā)表于 10-30 08:26

    MD5信息摘要算法實現(xiàn)二(基于蜂鳥E203協(xié)處理器)

    本設(shè)計首先根據(jù)MD5協(xié)處理器的功能設(shè)計MD5算法IP核,軟件部分使用串口程序助手進行64位加解密結(jié)果的輸出,E203內(nèi)核根據(jù)地址取出對應(yīng)的數(shù)據(jù),使用相關(guān)的指令進行傳輸顯示。通過NICE接口將MD5協(xié)
    發(fā)表于 10-30 07:54

    NICE協(xié)處理器demo分析及測試

    實現(xiàn)思路: 1.硬件設(shè)計,編寫相應(yīng)的verilog文件,需要注意的是NICE協(xié)處理器定義了一些基本的接口; 2.編寫驅(qū)動,通過內(nèi)聯(lián)匯編的偽指令.insn配置相關(guān)的驅(qū)動設(shè)置; 3.編寫用于測試
    發(fā)表于 10-23 07:05

    基于E203 NICE協(xié)處理器擴展指令

    1、實現(xiàn)功能 基于官方提供的demo nice的硬件代碼,設(shè)計一個基于e203 nice協(xié)處理的加法器。 2NICE協(xié)處理器理論學(xué)習(xí) nice協(xié)處理器的作用主要是用于控制通路的管理 去年
    發(fā)表于 10-21 14:35

    基于E203 NICE協(xié)處理器擴展指令2.0

    實現(xiàn)功能:基于官方提供的demo nice的硬件代碼,設(shè)計一個基于e203 nice協(xié)處理的加法器。 NICE協(xié)處理器理論學(xué)習(xí) nice協(xié)處理器的作用主要是用于控制通路的管理 去年國一的協(xié)
    發(fā)表于 10-21 10:39

    廣汽星源增技術(shù)即將登場

    當(dāng)下,新能源汽車產(chǎn)業(yè)狂飆突進、增概念重燃熱潮,廣汽集團以技術(shù)創(chuàng)新為利劍,直擊用戶核心痛點,持續(xù)釋放高質(zhì)量發(fā)展新動能。8月19日,廣汽將正式發(fā)布全新“星源增”技術(shù),并上市交付昊鉑HL增版,以“無虧電感”的全新體驗,重塑增
    的頭像 發(fā)表于 08-20 17:07 ?1203次閱讀

    廣汽星源增技術(shù)暨昊鉑HL增版上市發(fā)布會定檔

    近年來,增賽道火熱,但不少增車一遇虧電,駕駛體驗感急轉(zhuǎn)直下。作為中國增技術(shù)開創(chuàng)者之一,廣汽集團將于8月19日舉辦廣汽星源增技術(shù)暨昊鉑HL增
    的頭像 發(fā)表于 08-14 16:44 ?1428次閱讀

    請問NICE協(xié)處理器與傳統(tǒng)ocb外設(shè)相比的優(yōu)勢有什么?

    使用擴展指令調(diào)用NICE協(xié)處理器完成預(yù)定操作,給出的優(yōu)勢通常為代替CPU處理數(shù)據(jù),但其實使用片上總線掛一個外設(shè),然后驅(qū)動外設(shè)完成操作也可以實現(xiàn)相同的功能,所以想問一下協(xié)處理器相比于外設(shè)實現(xiàn)還有沒有其它方面的優(yōu)勢
    發(fā)表于 05-29 08:21
    满洲里市| 西乡县| 和硕县| 和田县| 望谟县| 通河县| 金华市| 姜堰市| 枣强县| 台湾省| 镇远县| 航空| 循化| 基隆市| 衡山县| 庆元县| 林西县| 定安县| 新营市| 岳普湖县| 图们市| 天柱县| 宜兰县| 德令哈市| 新巴尔虎左旗| 新昌县| 平湖市| 重庆市| 迁西县| 滁州市| 腾冲县| 新化县| 花莲县| 阿坝县| 读书| 基隆市| 靖宇县| 太和县| 穆棱市| 咸宁市| 财经|