python之asyncio三种应用方法

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hakesashou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值