python之asyncio三种应用方法

554次阅读
没有评论

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("ipipgo放了一个鱼丸,现在锅里还有%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()
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-06-19发表,共计1048字。
新手QQ群:570568346,欢迎进群讨论 Python51学习