पाठ 47 / 47

एसिंक की मूल बातें

थ्रेड के बिना, async/await से I/O-बाउंड काम को समवर्ती चलाएँ।

async क्यों?

async/await किसी प्रोग्राम को किसी काम के इंतज़ार में (जैसे नेटवर्क जवाब) दूसरे काम करने देते हैं, बजाय सब कुछ रोक देने के।

एक न्यूनतम उदाहरण

async def फ़ंक्शन एक कोरूटीन है। await इसे किसी धीमी संक्रिया पर रोकता है; asyncio.run पूरी चीज़ शुरू करता है।

import asyncio

async def fetch_data(name, delay):
    print(f"{name}: starting")
    await asyncio.sleep(delay)   # simulate I/O wait
    print(f"{name}: done")

async def main():
    await asyncio.gather(
        fetch_data("A", 2),
        fetch_data("B", 1),
    )

asyncio.run(main())

Output:

A: starting
B: starting
B: done
A: done