异步编程:小脚本

# __author: "ZXYang"
# date: 2020/12/22


"""
[[async]]
async def: 【异步函数】
async with: 【异步上下文】
对象必须符合异步上下文管理器:
__aenter__
__aexit__

async for: 【异步迭代】
被迭代对象必须要实现异步迭代协议
__aiter__
__anext__

[[await]]
await: 后边只能跟可迭代对象:异步任务,协程, Future,asyncio.sleep()

"""


import asyncio


async def work1():
for i in range(3):
print('___work1___')
await asyncio.sleep(1)


async def work2():
for i in range(3):
print('___work2___')
await asyncio.sleep(1)


async def main():
# task1 = asyncio.create_task(work1())
# task2 = asyncio.create_task(work2())
# await task1
# await task2
await asyncio.gather(
work1(),
work2(),
work2(),
work2(),
)


if __name__ == '__main__':
asyncio.run(main())




# res1 = work1()
# res2 = work2()
# asyncio.run(res1)
# asyncio.run(res2)
posted @ 2020-12-22 22:29  zxy_ang  阅读(89)  评论(0)    收藏  举报