- create_task
Async sleep in loop
- 4 sleeping in parallel will be much faster
- This time we used create_task to set up the tasks ahead of time and the we awaited all of them.
examples/async/sleep_loop_async.py
import time import asyncio async def sleep(cnt, sec): print(f"Start {cnt}") await asyncio.sleep(sec) print(f"End {cnt}") async def main(): co_routines = [] for i in range(4): co_routines.append(sleep(i, 1)) for t in co_routines: await t start = time.monotonic() asyncio.run(main()) end = time.monotonic() print(f"Elapsed {end-start}")
Start 0 Start 1 Start 2 Start 3 End 0 End 1 End 2 End 3 Elapsed 1.0030033588409424