分享python 异步经典代码示例, 满足百分之99的并发需求.

import asyncio #==========python实现最经典的异步并发模型.
from datetime import datetime

# 定义一个异步函数
async def greet(name):
    # print("Hello, " + name + str(datetime.now()))
    await asyncio.sleep(2)  # 使用异步的sleep函数
    # print("Goodbye, " + name + str(datetime.now()))
    return name

# 执行异步函数
async def main():
    # 创建任务并发执行
    allwork=['111','222','333']  # 所有需要执行的参数
    a=[]
    for i in allwork:
         t=asyncio.create_task(greet(i))
         a.append(t)


    # 等待所有任务完成
    asyncio.gather(*a)
    b=[]
    print('收集结果')
    for i in a:
      b.append(await i)
    print('打印最终并发结果,我们可以看到这个结果是保序的',b)
    print('不保序的异步需要在内部异步函数做b.append操作了.保序的只需要在外部异步main函数做b.append')



if __name__ == "__main__":
    start = datetime.now()  # 记录程序开始执行的时间
    asyncio.run(main())  # 运行主函数
    end = datetime.now()  # 记录程序结束执行的时间
    print('elapsed time =', end - start)  # 输出执行时间

posted on 2024-07-20 00:23  张博的博客  阅读(2)  评论(0编辑  收藏  举报

导航