import random
import time
import asyncio
async def eat(name):
print('%s开始吃西瓜啦!'%name)
sleep_time=random.randint(1,3)
await asyncio.sleep(sleep_time)
print('%s吃饱啦'%name)
loop = asyncio.get_event_loop()
start_time=time.time()
tasks=[]
for i in [1,2,3,4,5]:
c=eat(i)
task=loop.create_task(c)
tasks.append(task)
loop.run_until_complete(asyncio.wait(tasks))
end_time=time.time()
print('总共用时:',end_time-start_time)
执行结果:
1开始吃西瓜啦!
2开始吃西瓜啦!
3开始吃西瓜啦!
4开始吃西瓜啦!
5开始吃西瓜啦!
2吃饱啦
3吃饱啦
5吃饱啦
1吃饱啦
4吃饱啦
总共用时: 3.019543409347534
Process finished with exit code 0