I/O-bound workloads modern menuntut penanganan ribuan koneksi bersamaan. Section ini membahas asynchronous programming di Python dari konsep coroutine sampai pola produksi yang dipakai framework seperti FastAPI.
Pahami mengapa I/O yang memblokir itu mahal dan bagaimana async/await membuat satu thread menangani banyak tugas.
Buka → # Coroutine dan Event LoopBedah coroutine object, peran await sebagai penggerak eksekusi, dan event loop sebagai penjadwal tunggal asyncio.
Buka → # asyncioTur modul asyncio: sleep, gather, wait_for, asyncio.timeout, to_thread, dan Queue untuk program async yang tertata.
Buka → # Tasks dan Task GroupsJadwalkan coroutine bersamaan dengan create_task, kelola semuanya dengan TaskGroup, dan bandingkan dengan gather.
Buka → # Async Context ManagersKelola resource async dengan async with, protokol __aenter__/__aexit__, dan asyncio.Lock.
Buka → # Async Iterators dan GeneratorsKonsumsi data yang datang perlahan dengan __aiter__, async for, async generator, dan async comprehension.
Buka → # Cancellation dan TimeoutsBatalkan task dengan cancel(), tangani CancelledError, dan batasi operasi lambat dengan wait_for dan asyncio.timeout.
Buka → # Async Network I/OBangun server dan klien TCP async dengan start_server dan open_connection, plus konsep connection pooling.
Buka → # Memilih async atau ThreadingBandingkan async dan threading untuk beban I/O, pahami biaya masing-masing, lalu gabungkan keduanya dengan to_thread.
Buka →