您的当前位置:首页正文

python之asyncio三种应用方法

2024-08-01 来源:骅佗教育

python之asyncio三种应用方法:

1、直接使用asyncio.run方法

import asyncio
#第一种
async def aa():    
    print("我们的门又坏了")    
    await asyncio.sleep(2)    
    print("怎么办啊")
asyncio.run(aa())

2、同步的效果,用await调用函数

async def fun1():
    print("增强体育锻炼,提高免疫力")
    await asyncio.sleep(3)
    print("才能保证身体健康,诸事顺利")
async def fun2():
    await asyncio.sleep(5)
    print("这个周末天气不错")
    await asyncio.sleep(8)
    print("可是你就是不想出去")
async def min():
    await fun1()
    await fun2()if __name__ == "__main__":
    asyncio.run(min())

3、创建任务(asyncio.create_task),并发运行任务(await asyncio.gather)

arr = []
async def produce():
    for i in range(100):
        await asyncio.sleep(1)
        arr.append(i)
        print("小明放了一个鱼丸,现在锅里还有%s个鱼丸"%len(arr))
async def consumer():
    while True:
        await asyncio.sleep(2)   #很关键
        if len(arr)>=10:  #各一个判断条件
            arr.pop()
            print("mony吃了一个鱼丸,现在锅里还有%s个鱼丸"%len(arr))
async def main():
    t1 = asyncio.create_task(produce())   #创建任务
    t2 = asyncio.create_task(consumer())
    await asyncio.gather(t1,t2) #并发运行任务asyncio.run(main())  #调用函数main()