最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用 asyncio 實現(xiàn)并發(fā)計算

2023-07-31 20:31 作者:Mr藍琿  | 我要投稿

有 10 個獨立的任務(wù),每個任務(wù)都要執(zhí)行 1-3 秒才能結(jié)束。如果順序執(zhí)行,那么就需要 10-30 秒才能全部完成。能不能在 3 秒內(nèi)完成? 可以使用 Python 的 asyncio 模塊來實現(xiàn)這點。


下面代碼展示了 asyncio 的用法。 match() 函數(shù)需要 delay 秒才能完成, 在 match() 的函數(shù)定義前面加上 async。 在 many_jobs() 函數(shù)中定義一個任務(wù)組(TaskGroup),將 10 個任務(wù)快速加入。最后一行 asyncio.run(many_jobs()) 運行所有的任務(wù)。

與順序執(zhí)行的邏輯有所不同,需要時間習(xí)慣



在輸出結(jié)果中,可以看到所有的任務(wù)都是在 20:08:08 開始運行的,結(jié)束時間是 20:08:11, 用時 3 秒。?


任務(wù) 1 用時 3秒,所以它不是最先結(jié)束的,最先結(jié)束的是任務(wù) 2, 因為它只用時 1 秒。


所有的任務(wù)都在同一時間開始執(zhí)行,不需要等待前面一個完成,因為所有的任務(wù)都是獨立的


問題:如果每個任務(wù)有返回值,如何收集返回值呢?


使用 asyncio 實現(xiàn)并發(fā)計算的評論 (共 條)

分享到微博請遵守國家法律
武鸣县| 寻甸| 昌宁县| 正宁县| 玉树县| 饶河县| 梨树县| 柳河县| 嘉义市| 广州市| 宁化县| 财经| 叶城县| 萍乡市| 杭锦后旗| 法库县| 蕲春县| 南靖县| 铜陵市| 枝江市| 汶川县| 景谷| 赤壁市| 邯郸县| 英山县| 沂源县| 邻水| 永兴县| 洛浦县| 天峨县| 平安县| 纳雍县| 土默特左旗| 安仁县| 惠水县| 库尔勒市| 大悟县| 南汇区| 清徐县| 彩票| 沙洋县|