asyncio
Python asyncio moduli
❮ Python o‘rnatilgan modullari
Misol
asyncio.run() yordamida oddiy korutinani (coroutine) ishga tushiring:
import asyncio
async def main():
print("hello")
await asyncio.sleep(0)
print("world")
asyncio.run(main())
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
asyncio moduli bir vaqtda ishlaydigan (concurrent) kod uchun hodisalar sikli (event loop), vazifalar (tasks) va kiritish-chiqarish primitivlarini taqdim etadi.
Tuzilmali asinxron dasturlar yozish, korutinalarni rejalashtirish hamda tarmoq, quyi jarayonlar va sinxronizatsiya primitivlari bilan ishlash uchun async/awaitdan foydalaning.
A’zolar
| A’zo | Tavsif |
|---|---|
| all_tasks() | Joriy hodisalar sikli uchun hali tugallanmagan barcha vazifalar to‘plamini (Set) qaytaradi. |
| as_completed() | Kutilayotgan vazifalar tugashi bilanoq ularning natijalari bo‘ylab iteratsiya qiladi. |
| BoundedSemaphore | Semaphorega o‘xshaydi, lekin hisoblagichning boshlang‘ich qiymatdan oshib ketishiga yo‘l qo‘ymaydi. |
| CancelledError | Vazifa bekor qilinganda ko‘tariladigan istisno. |
| Condition | Qandaydir umumiy holat o‘zgarishini kutishi kerak bo‘lgan korutinalarni muvofiqlashtiradi. |
| create_subprocess_exec() | Quyi jarayonni (exec ko‘rinishida) ishga tushiradi va u bilan asinxron ravishda ishlaydi. |
| create_subprocess_shell() | Tizim shell’i orqali quyi jarayonni ishga tushiradi. |
| create_task() | Korutina obyektining bajarilishini Task sifatida rejalashtiradi. |
| current_task() | Ayni paytda bajarilayotgan Task’ni qaytaradi. |
| Event | Korutinalarning signal kutishi uchun sinxronizatsiya primitivi. |
| gather() | Bir nechta awaitable obyektni bir vaqtda ishga tushiradi va natijalarni yig‘adi. |
| get_event_loop() | Joriy hodisalar siklini qaytaradi (Python 3.10+ da eskirgan; get_running_loop()’dan foydalaning). |
| get_running_loop() | Ayni paytda ishlayotgan hodisalar siklini qaytaradi. |
| LifoQueue | Ishlab chiqaruvchi/iste’molchi (producer/consumer) korutinalar uchun stek (LIFO) navbati. |
| Lock | Korutinalar uchun o‘zaro istisno qulfi (mutex). |
| new_event_loop() | Yangi hodisalar sikli obyektini yaratadi va qaytaradi. |
| open_connection() | TCP mijoz ulanishini ochadi. |
| PriorityQueue | Elementlar ustuvorlik bo‘yicha olinadigan navbat (avval kichikroq qiymatlar). |
| Queue | Ishlab chiqaruvchi/iste’molchi korutinalar uchun FIFO navbati. |
| run() | asyncio dasturining asosiy kirish nuqtasini ishga tushiradi. |
| run_coroutine_threadsafe() | Korutinani boshqa oqimdan (thread) hodisalar sikliga yuboradi. |
| Semaphore | Bir vaqtdagi murojaatlarni cheklash uchun hisoblovchi semafor. |
| set_event_loop() | Joriy oqim (thread) uchun joriy hodisalar siklini o‘rnatadi. |
| shield() | Awaitable obyektni bekor qilinishdan himoya qiladi (tashqi kutish bekor qilinishi mumkin). |
| sleep() | Berilgan vaqt o‘tgach tugaydigan korutina. |
| start_server() | TCP server yaratadi. |
| StreamReader | Tarmoq ulanishlaridan ma’lumot o‘qish uchun asinxron oqim o‘quvchisi. |
| StreamWriter | Tarmoq ulanishlariga ma’lumot yozish uchun asinxron oqim yozuvchisi. |
| Task | Korutinani rejalashtiradigan va ishga tushiradigan o‘ram (wrapper); natijani olish uchun uni await qiling. |
| timeout() | await ifodalaridan iborat blokka vaqt chegarasini (timeout) qo‘llash uchun asinxron kontekst menejeri. |
| TimeoutError | Amal o‘z vaqt chegarasidan oshib ketganda ko‘tariladigan istisno. |
| to_thread() | Bloklovchi funksiyani alohida oqimda (thread) ishga tushiradi va natijani kutadi (await). |
| wait() | Vazifalar to‘plami shartga ko‘ra (FIRST_COMPLETED/ALL_COMPLETED) tugashini kutadi. |
| wait_for() | Awaitable obyektni vaqt chegarasi bilan ishga tushiradi va juda uzoq davom etsa, uni bekor qiladi. |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
