Creating Process with Multiprocessing
Python multiprocessing.
multiprocessing
yordamida protsesslar yaratish
multiprocessing
moduli threading.Thread
sinfining ishlash usuliga o‘xshash qilib yaratilgan. Shu sababdan, oldingi bobdagi kodni olib, oqimlar o‘rniga protsesslardan foydalanish uchun o‘zgartirishingiz mumkin.
Quyida birinchi misolni qanday o‘zgartirish kerakligi ko‘rsatilgan:
Bu yerda birinchi o‘zgarish, multiprocessing
modulini import qilishdir. Qolgan ikkita import esa mos ravishda random
va time
modullari uchun ishlatiladi.
Keyin esa, ahmoqona worker()
funksiyasi mavjud bo‘lib, u ba’zi ishlarni bajarayotganga o‘xshaydi. Bu funksiya ismni qabul qiladi va hech narsa qaytarmaydi. Funksiya ichida quyidagilar amalga oshiriladi:
- Ishchi protsessning ismi chiqariladi.
time.sleep()
orqali uzoq davom etadigan protsessni taqlid qilish amalga oshiriladi.- Nihoyat, protsess tugaganligi haqida xabar chop etiladi.
Kodning oxirgi qismida esa 5 ta ishchi protsess yaratiladi. Siz multiprocessing.Process()
funksiyasidan foydalanasiz, u threading.Thread()
kabi ishlaydi. Protsess uchun maqsadli funksiyani (target) va unga uzatiladigan argumentlarni ko‘rsatasiz. Asosiy farq shundaki, bu safar siz protsesslar ro‘yxatini yaratmoqdasiz. Har bir protsess uchun uning start()
metodini chaqirib, protsessni ishga tushirasiz.
Keyin, protsesslar ro‘yxatidan foydalanib, har bir protsessning join()
metodini chaqirasiz, bu Python'ga protsess tugashini kutib turishni bildiradi.
Skriptni ishga tushirganda quyidagiga o‘xshash natijalarni ko‘rasiz:
Skriptni har safar ishga tushirganingizda, random
moduli tufayli chiqish natijalari har xil bo‘ladi. Buni o‘zingiz sinab ko‘ring va ko‘ring!
Last updated on