日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python中Task封裝協程的知識點總結

瀏覽:141日期:2022-06-14 17:52:10
說明

1、Task是Future的子類,Task是對協程的封裝,我們把多個Task放在循環調度列表中,等待調度執行。

2、Task對象可以跟蹤任務和狀態。Future(Task是Futrue的子類)為我們提供了異步編程中最終結果的處理(Task類還具有狀態處理功能)。

3、把協程封裝成Task,加入一個隊列等待調用。剛創建Task的時候不執行,遇到await就執行。

實例

import asyncio async def func():print(1)await asyncio.sleep(2)print(2)return '返回值' async def main():print('main開始') # 創建協程,將協程封裝到Task對象中并添加到事件循環的任務列表中,等待事件循環去執行(默認是就緒狀態)。# 在調用task_list = [asyncio.create_task(func(), name='n1'),asyncio.create_task(func(), name='n2')] print('main結束') # 當執行某協程遇到IO操作時,會自動化切換執行其他任務。# 此處的await是等待所有協程執行完畢,并將所有協程的返回值保存到done# 如果設置了timeout值,則意味著此處最多等待的秒,完成的協程返回值寫入到done中,未完成則寫到pending中。done, pending = await asyncio.wait(task_list, timeout=None)print(done, pending) asyncio.run(main())

知識點擴展:

Task 概念及用法

Task,是 python 中與事件循環進行交互的一種主要方式。

創建 Task,意思就是把協程封裝成 Task 實例,并追蹤協程的 運行 / 完成狀態,用于未來獲取協程的結果。

Task 核心作用:在事件循環中添加多個并發任務;

具體來說,是通過 asyncio.create_task() 創建 Task,讓協程對象加入時事件循環中,等待被調度執行。

注意:Python 3.7 以后的版本支持 asyncio.create_task(),在此之前的寫法為 loop.create_task(),開發過程中需要注意代碼寫法對不同版本 python 的兼容性。

需要指出的是,協程封裝為 Task 后不會立馬啟動,當某個代碼 await 這個 Task 的時候才會被執行。

當多個 Task 被加入一個 task_list 的時候,添加 Task 的過程中 Task 不會執行,必須要用 await asyncio.wait() 或 await asyncio.gather() 將 Task 對象加入事件循環中異步執行。

一般在開發中,常用的寫法是這樣的:

-- 先創建 task_list 空列表;-- 然后用 asyncio.create_task() 創建 Task;-- 再把 Task 對象加入 task_list;-- 最后使用 await asyncio.wait 或 await asyncio.gather 將 Task 對象加入事件循環中異步執行。

注意:創建 Task 對象時,除了可以使用 asyncio.create_task() 之外,還可以用最低層級的 loop.create_task() 或 asyncio.ensure_future(),他們都可以用來創建 Task 對象,其中關于 ensure_future 相關內容本文接下來會一起講。

Task 用法代碼示例:

import asyncioimport arrowdef current_time(): ’’’ 獲取當前時間 :return: ’’’ cur_time = arrow.now().to(’Asia/Shanghai’).format(’YYYY-MM-DD HH:mm:ss’) return cur_timeasync def func(sleep_time): func_name_suffix = sleep_time# 使用 sleep_time(函數 I/O 等待時長)作為函數名后綴,以區分任務對象 print(f'[{current_time()}] 執行異步函數 {func.__name__}-{func_name_suffix}') await asyncio.sleep(sleep_time) print(f'[{current_time()}] 函數 {func.__name__}-{func_name_suffix} 執行完畢') return f'【[{current_time()}] 得到函數 {func.__name__}-{func_name_suffix} 執行結果】'async def run(): task_list = [] for i in range(5):task = asyncio.create_task(async_func(i))task_list.append(task) done, pending = await asyncio.wait(task_list, timeout=None) for done_task in done:print((f'[{current_time()}] 得到執行結果 {done_task.result()}'))def main(): loop = asyncio.get_event_loop() loop.run_until_complete(run())if __name__ == ’__main__’: main()

到此這篇關于python中Task封裝協程的知識點總結的文章就介紹到這了,更多相關python中Task封裝協程內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: python Task Future
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线综合亚洲| 国产一区2区在线观看| 午夜电影亚洲| 在线视频精品| 蜜臀精品久久久久久蜜臀| 亚洲欧美久久久| 久久午夜精品一区二区| 野花国产精品入口| 视频一区二区三区中文字幕| 视频在线观看91| 日本午夜精品一区二区三区电影| 青青草伊人久久| 精品国产乱码久久久| 高清av一区| 91精品推荐| 欧美午夜不卡| 亚洲精品九九| 国产精品s色| 五月天av在线| 婷婷亚洲五月| 日韩精品一级| 久久亚洲黄色| 欧美不卡高清| 亚洲一级大片| 精品美女在线视频| japanese国产精品| 日韩在线黄色| 成人国产精品一区二区网站| 精品一区毛片| 日韩av网站在线免费观看| 精品国产网站| 久久在线电影| 日韩中出av| 国产a久久精品一区二区三区| 国产精品av久久久久久麻豆网| 亚洲精品在线a| 国产一区日韩| 免费精品视频| 久久精品国产99| 亚洲一卡久久| 精品一区二区男人吃奶| 国产一区亚洲| 国产精品手机在线播放| 欧美日韩精品在线一区| 日韩av中文字幕一区二区三区| 国产成人精品免费视| 久久香蕉国产| 国产精品中文| 欧美 日韩 国产一区二区在线视频| 日韩欧美美女在线观看| 精品久久不卡| 视频一区在线视频| 日韩成人免费| 亚洲精品字幕| 午夜精品成人av| 日韩国产在线观看| 久久久蜜桃一区二区人| 日本成人手机在线| 婷婷激情久久| 国产精品亚洲欧美| 在线亚洲观看| 卡一精品卡二卡三网站乱码| 99成人在线| 丰满少妇一区| 日韩一区二区三区精品视频第3页| 亚洲欧洲美洲av| 欧美偷窥清纯综合图区| 欧美日韩少妇| 激情久久一区二区| 日本久久一区| 国产精品普通话对白| 精品91福利视频| 亚洲aa在线| 久久精品国产大片免费观看| 国产精品日韩精品在线播放 | 亚洲人成在线影院| 成人日韩精品| 国产精品va| 亚洲精品日本| 国产综合精品| 亚洲欧洲美洲av| 麻豆精品久久久| 日本亚洲欧美天堂免费| 1024精品久久久久久久久| 精品国产欧美日韩| 国产精品一区二区av交换| 蜜桃视频在线观看一区| 婷婷精品视频| 中文在线а√在线8| 国产日本久久| 午夜精品影视国产一区在线麻豆| 黑丝美女一区二区| 久久精品国内一区二区三区水蜜桃| 久久不见久久见免费视频7| 日韩精品视频网站| 免费看精品久久片| 日韩午夜电影| 91精品福利| 久久精品123| 中文在线免费视频| 成人在线黄色| 精品视频国产| 精品一区视频| 国产精品xxx在线观看| 日本精品在线播放| 在线看片日韩| 欧美综合二区| 国产视频一区欧美| 狠狠色狠狠色综合日日tαg| 欧美午夜精彩| 亚洲福利久久| 999精品一区| 91精品国产成人观看| 欧美精品日日操| 中文字幕在线视频久| 91欧美国产| 丁香六月综合| 日韩欧美精品| 人人香蕉久久| 99精品网站| 99久久久久国产精品| 高清av不卡| 日本欧美不卡| 九九综合在线| 久久亚洲国产精品一区二区| 免费在线观看日韩欧美| 午夜亚洲福利| 国产精品中文字幕制服诱惑| 国产精品久久久久久久久免费高清| 国产精品久久久久久久久久妞妞| 国产精品传媒麻豆hd| 精品视频91| 国产精品久久久久av电视剧| 999精品色在线播放| 国产亚洲精品v| 六月丁香综合| 日本不卡视频在线| 国产高清视频一区二区| 色综合五月天| 欧美日韩一二| 亚洲一区二区三区无吗| 欧美亚洲二区| 国产精品99久久精品| 国产99精品一区| 99视频精品| 日韩国产欧美在线播放| 欧美激情一区| 日韩欧美精品| 欧美在线综合| 7777精品| 久久精品国产亚洲aⅴ| 久久久天天操| 一区二区国产精品| 国产精品3区| 久久国产主播| 亚洲三级毛片| 久久精品理论片| 激情婷婷久久| 青青国产精品| 久久久一本精品| 爽好久久久欧美精品| 国产欧美日韩一级| 播放一区二区| 亚洲人成在线影院| 精品色999| 午夜久久美女| 欧美精品三级在线| 香蕉成人av| 日韩在线观看中文字幕| jizzjizz中国精品麻豆| 99热精品在线观看| 麻豆国产一区| 尤物网精品视频| 欧美成人精品一级| 亚洲免费播放| 麻豆国产精品一区二区三区| 亚洲激情二区| 欧美黄色一区| 在线亚洲观看| 精品久久精品| 香蕉久久夜色精品国产| 精品一区二区三区中文字幕 | 免费在线看一区| 激情久久99| 免费视频一区二区| 在线人成日本视频| 日韩福利视频导航| 久久黄色影院| 国产精品久久久久77777丨| 91精品国产调教在线观看| 91成人在线网站| 午夜国产精品视频| 精品资源在线| 丝袜亚洲精品中文字幕一区| 国产一区二区三区网| 在线免费观看亚洲| 亚洲91视频| 精品视频自拍| 视频精品一区| 欧美日韩国产探花|