久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

python在協程中增加任務實例操作

瀏覽:3日期:2022-06-26 18:44:23

1、添加一個任務

task2 = visit_url(’http://another.com’, 3)asynicio.run(task2)

2、這 2 個程序一共消耗 5s 左右的時間。并沒有發揮并發編程的優勢

import asyncioimport timeasync def visit_url(url, response_time): '''訪問 url''' await asyncio.sleep(response_time) return f'訪問{url}, 已得到返回結果'async def run_task(): '''收集子任務''' task = visit_url(’http://wangzhen.com’, 2) task_2 = visit_url(’http://another’, 3) await asyncio.run(task) await asyncio.run(task_2)asyncio.run(run_task())print(f'消耗時間:{time.perf_counter() - start_time}')

3、如果是并發編程,這個程序只需要消耗 3s,也就是task2的等待時間。

要想使用并發編程形式,需要把上面的代碼改一下。asyncio.gather 會創建 2 個子任務,當出現 await 的時候,程序會在這 2 個子任務之間進行調度。

async def run_task(): '''收集子任務''' task = visit_url(’http://wangzhen.com’, 2) task_2 = visit_url(’http://another’, 3) await asynicio.gather(task1, task2)

實例擴展:

import asynciofrom threading import Thread async def production_task(): i = 0 while True: # 將consumption這個協程每秒注冊一個到運行在線程中的循環,thread_loop每秒會獲得一個一直打印i的無限循環任務 asyncio.run_coroutine_threadsafe(consumption(i), thread_loop) # 注意:run_coroutine_threadsafe 這個方法只能用在運行在線程中的循環事件使用 await asyncio.sleep(1) # 必須加await i += 1 async def consumption(i): while True: print('我是第{}任務'.format(i)) await asyncio.sleep(1) def start_loop(loop): # 運行事件循環, loop以參數的形式傳遞進來運行 asyncio.set_event_loop(loop) loop.run_forever() thread_loop = asyncio.new_event_loop() # 獲取一個事件循環run_loop_thread = Thread(target=start_loop, args=(thread_loop,)) # 將次事件循環運行在一個線程中,防止阻塞當前主線程run_loop_thread.start() # 運行線程,同時協程事件循環也會運行 advocate_loop = asyncio.get_event_loop() # 將生產任務的協程注冊到這個循環中advocate_loop.run_until_complete(production_task()) # 運行次循環

到此這篇關于python在協程中增加任務實例操作的文章就介紹到這了,更多相關python在協程中增加任務內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美一级艳情片免费观看 | 久久中文字幕一区 | 999国产一区二区三区四区 | 国产一级视频免费播放 | 久久1区 | 国产又粗又长又硬又猛电影 | 香蕉久久一区二区不卡无毒影院 | 国产日韩欧美一二三区 | 国产一区二区三区在线 | 国产欧美日韩综合精品一区二区 | 91传媒在线播放 | 亚洲综合区 | 龙珠z普通话国语版在线观看 | 久久久久久亚洲精品 | 久久久天天 | 99国产精品99久久久久久 | 一区在线看 | 99中文字幕 | 欧美精品一区二区三区在线播放 | 在线观看av国产一区二区 | 亚洲日本国产 | 欧美久久久久 | 欧美精品v国产精品v日韩精品 | 欧美视频一二三区 | 狠久久 | 国产区精品在线 | av天空| www.99日本精品片com | 综合网视频 | 中文字幕在线第一页 | 国产在线播 | 日韩在线视频观看免费 | 日韩在线观看中文字幕 | 国产成人久久精品一区二区三区 | 可以在线观看的av网站 | 久久久久久91香蕉国产 | 久久久久久久影院 | 欧美成人一区二区 | 欧美福利一区二区 | 一本一道久久精品综合 | 久久精品成人 |