queue
Python queue moduli
❮ Python o‘rnatilgan modullari
Misol
FIFO navbat yarating, unga element qo‘ying va keyin uni qaytarib oling:
import queue
q = queue.Queue()
q.put('task1')
print(q.get())
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
queue moduli ko‘p ishlab chiqaruvchili va ko‘p iste’molchili (multi-producer, multi-consumer) holatlar uchun sinxronlashtirilgan navbat sinflarini taqdim etadi.
Undan FIFO, LIFO yoki ustuvorlik tartibidan foydalanib, oqimlar (thread) o‘rtasida vazifalarni xavfsiz uzatish uchun foydalaning.
A’zolar
| A’zo | Tavsif |
|---|---|
| Empty | Bloklamaydigan get amali navbatni bo‘sh deb topganda yuzaga keladigan istisno. |
| Full | Bloklamaydigan put amali navbatni to‘la deb topganda yuzaga keladigan istisno. |
| LifoQueue | Oqimlar uchun xavfsiz (thread-safe) LIFO navbat (stek). |
| PriorityQueue | Oqimlar uchun xavfsiz (thread-safe) ustuvorlik navbati (eng kichigi birinchi). |
| Queue | Oqimlar uchun xavfsiz (thread-safe) FIFO navbat. |
| ShutDown | Yopilgan navbatda put() yoki get() chaqirilganda yuzaga keladigan istisno (3.13+). |
| SimpleQueue | Minimal bloklash (locking) bilan ishlaydigan cheklanmagan FIFO navbat. |
| empty() | Agar navbat bo‘sh bo‘lsa, True, aks holda False qiymatini qaytaradi. |
| full() | Agar navbat to‘la bo‘lsa, True, aks holda False qiymatini qaytaradi. |
| get() | Navbatdan elementni olib tashlaydi va uni qaytaradi. |
| get_nowait() | Bloklamasdan elementni olib tashlaydi va qaytaradi (navbat bo‘sh bo‘lsa, Empty istisnosini chiqaradi). |
| join() | Barcha vazifalar qayta ishlanmaguncha kutib turadi (bloklaydi). |
| put() | Navbatga element qo‘yadi. |
| put_nowait() | Navbatga bloklamasdan element qo‘yadi (navbat to‘la bo‘lsa, Full istisnosini chiqaradi). |
| qsize() | Navbatning taxminiy hajmini qaytaradi. |
| shutdown() | Navbatni yopadi va keyingi put() amallarining oldini oladi (3.13+). |
| task_done() | Oldin navbatga qo‘yilgan vazifa bajarilganini bildiradi. |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
