Python — From Basics to Advanced · Asyncio and Concurrent Programming
asyncio.gather — running tasks in parallel
Asyncio and Concurrent Programming
Introduction
asyncio.gather() runs multiple awaitables concurrently (cooperatively) and waits until all of them finish. The result is a list returned in the same order as the arguments. The key to real concurrency in asyncio for I/O-bound work.