python之asyncio三种应用方法

Python (174) 2023-06-17 06:36:14

python之asyncio三种应用方法:

1、直接使用asyncio.run方法

importasyncio
#第一种
asyncdefaa():
print("我们的门又坏了")
awaitasyncio.sleep(2)
print("怎么办啊")
asyncio.run(aa())

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

asyncdeffun1():
print("增强体育锻炼,提高免疫力")
awaitasyncio.sleep(3)
print("才能保证身体健康,诸事顺利")
asyncdeffun2():
awaitasyncio.sleep(5)
print("这个周末天气不错")
awaitasyncio.sleep(8)
print("可是你就是不想出去")
asyncdefmin():
awaitfun1()
awaitfun2()if__name__=="__main__":
asyncio.run(min())

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

arr=[]
asyncdefproduce():
foriinrange(100):
awaitasyncio.sleep(1)
arr.append(i)
print("小明放了一个鱼丸,现在锅里还有%s个鱼丸"%len(arr))
asyncdefconsumer():
whileTrue:
awaitasyncio.sleep(2)#很关键
iflen(arr)>=10:#各一个判断条件
arr.pop()
print("mony吃了一个鱼丸,现在锅里还有%s个鱼丸"%len(arr))
asyncdefmain():
t1=asyncio.create_task(produce())#创建任务
t2=asyncio.create_task(consumer())
awaitasyncio.gather(t1,t2)#并发运行任务asyncio.run(main())#调用函数main()
THE END

发表回复