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()