chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

python協(xié)程之a(chǎn)wait等待過程理解

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

掃碼添加小助手

加入工程師交流群

目標

用一個等待過程理解,能夠?qū)崿F(xiàn)一致的方便,70行代碼

例子說明

某方需要2,執(zhí)行req2需要執(zhí)行這個時間,最終執(zhí)行時間是3秒,大約1秒,同時執(zhí)行;如果最終時間是秒,如果執(zhí)行的話,具體請參看,友情提示是,yield from 方法后面如果是它的工具,可以進入____

import time
from collections import deque

_delay = deque()


class FutureX:
def __init__(self, coro=None, delay_second=None):
self.coro = coro
if delay_second:
self.start = delay_second + time.time()

def step(self):
coro = self.coro
try:
result = coro.send(None)
except StopIteration as e:
print(e.value)
pass
else:
if isinstance(result, FutureX):
_delay.append((self._wakeup, result))
else:
pass

def _wakeup(self):
self.step()

def __iter__(self):
yield self
return None


def coroutine(func):
co = func.__code__
func.__code__ = co.replace(co_flags=co.co_flags | 0x100)
return func


@coroutine
def sleep0(seconds):

future = FutureX(delay_second=seconds)
b = yield from future
return seconds


async def req1(delay_seconds):
resp_time = await sleep0(delay_seconds)
return resp_time


async def req2(delay_seconds):
resp_time = await sleep0(delay_seconds)
return resp_time


t1 = time.time()
f1, f2 = FutureX(req1(2)), FutureX(req2(1))
f1.step()

f2.step()


while _delay:
callback, args = _delay.popleft()
start = args.start
if not start:
continue
while True:
end = time.time()
if start <= end:
try:
callback()
except StopIteration as e:
pass
break

print(f'花費的時間:{round(time.time() - t1,1)}')

'''
結(jié)果:
2
1
花費的時間:2.0
'''



審核編輯:劉清

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

    關(guān)注

    57

    文章

    4869

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何使用Python讀取不間斷數(shù)據(jù),并將其傳輸?shù)絃abVIEW進行處理?

    使用Python讀取Count,如何將讀取到的數(shù)據(jù)傳輸至Labview;傳輸過程Python要保持讀取的動作,不能停止。
    發(fā)表于 01-23 11:09

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

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

    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

    基于E203 RISC-V的音頻信號處理系統(tǒng) -協(xié)處理器的乘累加過程

    協(xié)處理器簡介 RISC-V具有很高的可擴展性,既預(yù)留出了指令編碼空間,也提供了預(yù)定義的Custom指令;RISC-V的標準指令集僅使用了少部分指令編碼空間,更多的指令編碼空間被預(yù)留給用戶進行擴展
    發(fā)表于 10-28 06:18

    NICE指令的完整執(zhí)行過程

    NICE指令的完整執(zhí)行過程如下: 1、主處理器的譯碼單元提供EXU級譯碼得到指令的操作碼,以判斷其是否屬于默認的自定義指令組。 如果該指令屬于自定義指令,請根據(jù)命令編碼中的XS1位繼續(xù)讀取源寄存器
    發(fā)表于 10-23 07:25

    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é)處理器理論學習 nice協(xié)處理器的作用主要是用于控制通路的管理 去年
    發(fā)表于 10-21 14:35

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

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

    請問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

    FX2LP如何在不重新插入USB電纜的情況下在dfu過程之后重新啟動設(shè)備?

    我正在使用 FX2LP 設(shè)備,我想通過將 iic 文件寫入 eeprom 為我的設(shè)備添加“設(shè)備更新固件”功能。它運行得很好,但我不知道如何在不重新插入 USB 電纜的情況下在 dfu 過程之后重新啟動設(shè)備?
    發(fā)表于 05-06 06:18

    10分鐘上手寫代碼,LuatOS協(xié)程輕松掌握!

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

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

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

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個推理過程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結(jié)果與 Python* 代碼不同。
    發(fā)表于 03-06 06:22