Event loop — manages and runs asynchronous tasks.
1import asyncio23async def fetch_data(name, delay):4 print(f"Starting {name}")5 await asyncio.sleep(delay)6 print(f"Finished {name}")7 return f"{name} result"89async def main():10 # Run concurrently11 results = await asyncio.gather(12 fetch_data("A", 2),13 fetch_data("B", 1),14 fetch_data("C", 3),15 )16 print(results) # ["A result", "B result", "C result"]1718 # Create tasks for concurrent execution19 tasks = [20 asyncio.create_task(fetch_data(f"Task-{i}", i))21 for i in range(5)22 ]23 results = await asyncio.gather(*tasks)2425 # Queue for producer-consumer26 queue = asyncio.Queue()27 await queue.put("item")28 item = await queue.get()2930asyncio.run(main())
Key concepts: