import time
import asyncio
async def washing1():
time.sleep(3) # 第一台洗衣机,
print('washer1 finished') # 洗完了
async def washing2():
time.sleep(8)
print('washer2 finished')
async def washing3():
time.sleep(5)
print('washer3 finished')
if __name__ == '__main__':
print('start main:')
start_time = time.time()
# step1 创建一个事件循环
loop = asyncio.get_event_loop()
# step2 将异步函数(协程)加入事件队列
tasks = [
washing1(),
washing2(),
washing3()
]
# step3 执行事件队列 直到最晚的一个事件被处理完毕后结束
loop.run_until_complete(asyncio.wait(tasks))
end_time = time.time()
print('-----------end main----------')
print('总共耗时:{}'.format(end_time-start_time))
输出结果:
start main:
washer1 finished
washer3 finished
washer2 finished
-----------end main----------
总共耗时:8.000972032546997 执行时间和最耗时的washing2()差不多