Python Async/Await สำหรับ Asynchronous Programming ช่วยจัดการ I/O-bound Tasks ได้อย่างมีประสิทธิภาพ
Async/Await พื้นฐาน
# Synchronous: 10 URLs = 10 วินาที (ทำทีละอย่าง)
# Asynchronous: 10 URLs = 1 วินาที (ทำพร้อมกัน)
#
# สร้าง Coroutine ด้วย async def:
# async def greet(name):
# await asyncio.sleep(1)
# return f"Hello, name!"
#
# เรียกใช้:
# asyncio.run(main())
#
# รัน Coroutines พร้อมกัน:
# results = await asyncio.gather(coro1(), coro2(), coro3())
#
# asyncio.create_task: สร้าง Task แยก
# aiohttp: Async HTTP Client
# async with aiohttp.ClientSession() as session:
# async with session.get(url) as response:
# data = await response.json()
สรุป
Python Async/Await เป็นเครื่องมือที่ทรงพลังสำหรับ I/O-bound Tasks ช่วยให้ Code ทำงานเร็วขึ้นหลายเท่าโดยไม่ต้องใช้ Threading
