Async Await ও Event Loop

⚡ Python Async / Await ও Event Loop (ডিটেইল গাইড)

Python-এ যখন একসাথে অনেক কাজ (যেমন: API call, file read, database query) করতে হয়, তখন Async / Await এবং Event Loop ব্যবহার করে প্রোগ্রামকে অনেক বেশি দ্রুত ও efficient করা যায়।


📌 Async Programming কী?

Async Programming এমন একটি পদ্ধতি যেখানে একটি কাজ চলাকালীন অন্য কাজও একই সময়ে করা যায় — একটি কাজ শেষ হওয়ার জন্য অপেক্ষা না করেই

🔍 বাস্তব উদাহরণ:

  • একসাথে অনেক API call
  • একাধিক user request handle করা
  • Network বা I/O ভিত্তিক কাজ

📌 Synchronous vs Asynchronous

Synchronous Asynchronous
এক কাজ শেষ হলে পরের কাজ একাধিক কাজ একসাথে
Slow হতে পারে Fast ও efficient

📌 async ও await কী?

  • async → একটি asynchronous function তৈরি করে
  • await → async কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করে

🧪 Example: async / await


import asyncio

async def task():
    print("Task started")
    await asyncio.sleep(2)
    print("Task finished")

asyncio.run(task())
  

🖥 Output:

Task started
(2 seconds delay)
Task finished
    

📌 Event Loop কী?

Event Loop হলো Async প্রোগ্রামিং-এর হৃদয়। এটি একের পর এক task চালায়, pause করে, আবার resume করে।

Event Loop যা করে:

  • Async function schedule করে
  • await point এ থামায়
  • অন্য task চালায়
  • আবার আগের task resume করে

📌 Multiple Async Task Example


import asyncio

async def task1():
    await asyncio.sleep(2)
    print("Task 1 done")

async def task2():
    await asyncio.sleep(1)
    print("Task 2 done")

async def main():
    await asyncio.gather(task1(), task2())

asyncio.run(main())
  

🖥 Output:

Task 2 done
Task 1 done
    

👉 লক্ষ্য করুন, Task 2 আগে শেষ হয়েছে কারণ এর delay কম।

📌 Async কোথায় ব্যবহার করবেন?

  • API / HTTP request
  • Web scraping
  • Chat / Real-time app
  • Fast backend server (FastAPI)

✨ Summary

  • async function asynchronous কাজ করে
  • await non-blocking wait তৈরি করে
  • Event Loop সব async task manage করে
  • Async code fast এবং scalable

✅ এই ধারণাগুলো বুঝলে আপনি Python Backend ও API development-এ অনেক এগিয়ে যাবেন।

👼 Quiz
/

লোড হচ্ছে...

Interview Questions:

1. Async Await কী?

Async Await হলো asynchronous প্রোগ্রামিং এর সিনট্যাক্স, যা non-blocking কোড লিখতে সাহায্য করে।

2. Event Loop কীভাবে কাজ করে?

Event Loop asynchronous টাস্কগুলোকে পরিচালনা করে এবং I/O অপারেশন শেষ হলে callback বা coroutine এক্সিকিউট করে।

3. Async programming কোথায় বেশি উপযোগী?

Network request, API call, database query এর মতো I/O-bound কাজের জন্য Async programming উপযোগী।