色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

python協程之await等待過程理解

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

目標

用一個等待過程理解,能夠實現一致的方便,70行代碼

例子說明

某方需要2,執行req2需要執行這個時間,最終執行時間是3秒,大約1秒,同時執行;如果最終時間是秒,如果執行的話,具體請參看,友情提示是,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)}')

'''
結果:
2
1
花費的時間:2.0
'''



審核編輯:劉清

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

    關注

    56

    文章

    4805

    瀏覽量

    84928
收藏 人收藏

    評論

    相關推薦

    使用Python實現xgboost教程

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

    使用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)

    如何幫助孩子高效學習Python:開源硬件實踐是最優選擇

    顯著提升孩子的學習興趣和對Python原理的理解。本文將探討為何使用Raspberry Pi(樹莓派)或Unihiker(行空板)等開源硬件是孩子們掌握Python的最佳途徑。 讓孩子們在Py
    的頭像 發表于 09-06 09:49 ?352次閱讀

    使用Python進行Ping測試

    )請求包,然后等待目標主機返回響應包,從而測量網絡的延遲和丟包情況。隨著Python編程語言的廣泛應用,越來越多的網絡工程師開始使用Python進行自動化網絡測試和管理任務。本篇文章將詳細介紹如何使用
    的頭像 發表于 08-12 17:56 ?573次閱讀
    使用<b class='flag-5'>Python</b>進行Ping測試

    pytorch和python的關系是什么

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

    opencv-python和opencv一樣嗎

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

    用pycharm進行python爬蟲的步驟

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

    使用Python進行自然語言處理

    在探討使用Python進行自然語言處理(NLP)的廣闊領域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優勢,以及如何通過Python實現一些基礎的NLP任務
    的頭像 發表于 07-04 14:40 ?481次閱讀

    鴻蒙OS開發實例:【ArkTS類庫異步并發async/await

    async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關鍵字聲明一個函數為異步函數,并使用await關鍵字等待Promise的解析(完成或拒絕),以同步的方式編
    的頭像 發表于 04-02 20:57 ?1101次閱讀
    鴻蒙OS開發實例:【ArkTS類庫異步并發async/<b class='flag-5'>await</b>】

    鴻蒙原生應用開發-ArkTS語言基礎類庫異步并發簡述async/await

    async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關鍵字聲明一個函數為異步函數,并使用await關鍵字等待Promise的解析
    發表于 03-06 14:44

    基于Python的地圖繪制教程

    本文將介紹通過Python繪制地形圖的方法,所需第三方Python相關模塊包括 rasterio、geopandas、cartopy 等,可通過 pip 等方式安裝。
    的頭像 發表于 02-26 09:53 ?1284次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程

    鴻蒙輕內核源碼分析:MMU 處理器

    1、 ARM C15 處理器 在 ARM 嵌入式應用系統中, 很多系統控制由 ARM CP15 處理器來完成的。CP15 處理器包含編號 0-15 的 16 個 32 位的寄存器。例如,ARM
    的頭像 發表于 02-20 14:28 ?645次閱讀
    鴻蒙輕內核源碼分析:MMU <b class='flag-5'>協</b>處理器

    如何使用linux下gdb來調試python程序

    如何使用linux下gdb來調試python程序? 在Linux下,可以使用GDB(GNU調試器)來調試Python程序。GDB是一個強大的調試工具,可以幫助開發者診斷和修復程序中的錯誤。在本文
    的頭像 發表于 01-31 10:41 ?2703次閱讀

    談談程的那些事兒

    隨著異步編程的發展以及各種并發框架的普及,程作為一種異步編程規范在各類語言中地位逐步提高。我們不單單會在自己的程序中使用程,各類框架如fastapi,aiohttp等也都是基于異步以及程進行實現。那到底什么是
    的頭像 發表于 01-26 11:36 ?1147次閱讀
    談談<b class='flag-5'>協</b>程的那些事兒
    主站蜘蛛池模板: 性欧美videosex18嫩| 无人视频在线观看免费播放影院| GOGOGO高清在线播放韩国| 亚洲视频在线观| 亚洲另类欧美综合在线| 午夜伦理伦理片在线观| 伸进同桌奶罩里摸她胸作文| 日韩av国产av欧美天堂社区| 日本人添下面的全过程| 天天干夜夜曰| 亚洲 无码 制服 日韩| 亚洲免费高清视频| BL文库好大粗黑强强肉NP| 黄色三级三级三级免费看| 久久久久久久久免费视频| 久欠热视频精品首页| 欧美含羞草免费观看全部完| 朋友的娇妻好爽好烫嗯| 婷婷久久无码欧美人妻| 717影院理论午夜伦不卡久久| chinesedaddy80老年人| 交换年轻夫妇HD中文字幕| 少妇的肉体AA片免费观看| 亚洲精品中文字幕一二三四区| 成人免费毛片观看| 国精品产露脸偷拍视频| 久久夜色精品国产亚州AV卜| 欧美激情视频在线观看一区二区三区| 亚洲午夜精品A片久久软件| 国产区精品综合在线| 伦理片 a在线线版韩国| 日韩欧美一区二区三区在线 | 午夜dj影院视频观看| a级成人免费毛片完整版| 国产精品97久久AV麻豆| 久久精品亚洲国产AV涩情| 小伙无套内射老女人| 动漫美女无衣| 精品一二三区久久AAA片| 欧美三级在线完整版免费| 2020国产成人精品免费视频|