Creating a Process Pool
Python multiprocessing.
Protsesslar hovuzini yaratish
Agar sizda ko‘p protsesslarni ishga tushirish zarurati bo‘lsa, ba’zida bir vaqtning o‘zida qancha protsess ishlashi mumkinligini cheklashni xohlaysiz. Masalan, 20 ta protsessni ishga tushirishingiz kerak, lekin sizda faqat 4 yadroli protsessor bor. multiprocessing
moduli yordamida bir vaqtning o‘zida faqat 4 ta protsess ishlaydigan protsesslar hovuzini yaratishingiz mumkin.
Buni qanday amalga oshirishni ko‘rib chiqamiz:
Tushuntirish:
worker
funksiyasi: Bu funksiyaning vazifasi oldingi misollardagi kabi – har bir protsessning ishlashini simulyatsiya qilish.- Protsesslar nomlari: 15 ta protsess uchun nomlar ro‘yxati yaratish uchun
list comprehension
ishlatilgan. Pool
yaratish: Hovuzni yaratishda bir vaqtning o‘zida qancha protsess ishlashi kerakligini belgilaysiz (bu yerda 5).map()
metodi: Bu metodga protsesslarni bajaradigan funksiya (worker
) va argumentlar ro‘yxati (process_names
) uzatiladi.terminate()
: Hovuzni tozalash uchun ishlatiladi. Aks holda quyidagi kabi xatolik xabarlari paydo bo‘lishi mumkin:
Ishlash prinsipi:
Python bir vaqtning o‘zida 5 yoki undan kam protsessni ishga tushiradi va ularning bajarilishi tugashi bilan navbatdagi protsesslarni boshlaydi. Shunday qilib, protsessor yadrolari ortiqcha yuklanmaydi.
Endi siz Python yordamida protsesslar hovuzini qanday yaratishni bilasiz!
Last updated on