中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Python協程如何實現并發

小樊
83
2024-10-30 20:30:33
欄目: 編程語言

在Python中,協程(coroutines)是一種特殊的函數,可以在執行過程中暫停和恢復。要實現并發,可以使用asyncio庫,它是Python 3.4及更高版本中的標準庫。以下是使用asyncio實現協程并發的示例:

import asyncio

async def coroutine_example(task_name, delay):
    print(f"{task_name} 開始執行")
    await asyncio.sleep(delay)
    print(f"{task_name} 執行完成")

async def main():
    # 創建協程任務列表
    tasks = [
        coroutine_example("Task1", 2),
        coroutine_example("Task2", 1),
        coroutine_example("Task3", 3),
    ]

    # 并行運行協程任務
    await asyncio.gather(*tasks)

# 運行事件循環
asyncio.run(main())

在這個示例中,我們定義了一個名為coroutine_example的協程函數,它接受一個任務名稱和一個延遲時間作為參數。在函數內部,我們使用await asyncio.sleep(delay)來模擬執行耗時操作。

main函數中,我們創建了一個包含三個協程任務的列表,然后使用asyncio.gather(*tasks)來并行運行這些任務。最后,我們使用asyncio.run(main())來啟動事件循環并運行main函數。

當你運行這個程序時,你會看到以下輸出:

Task1 開始執行
Task2 開始執行
Task3 開始執行
Task2 執行完成
Task1 執行完成
Task3 執行完成

這個輸出表明,Task1Task2幾乎同時開始執行,而Task3則在稍后的時間開始執行。這表明協程實現了并發執行。

0
洮南市| 鱼台县| 德阳市| 洛隆县| 九寨沟县| 蓬安县| 施甸县| 项城市| 固始县| 金塔县| 定陶县| 塘沽区| 泰安市| 县级市| 衢州市| 红河县| 通化市| 稻城县| 板桥市| 云林县| 根河市| 武冈市| 涪陵区| 桂阳县| 黑河市| 崇文区| 马边| 甘泉县| 随州市| 五莲县| 浮山县| 景谷| 潼南县| 承德县| 西林县| 清苑县| 衡南县| 白河县| 嵊州市| 方正县| 广州市|