Özet - Multiprocessing
- Python kursu
- Uzman
- Ders 30/47
- 5 dk
Process, Pool ve Queue'yu birleştirerek paralel bir işçi yazarsın.
Özet: Multiprocessing
Bu grupta süreç tabanlı paralel çalışmayı öğrendin. Process ile yeni süreç başlattın, start ve join ile yaşam döngüsünü yönettin.
Queue ile süreçler arası veri aktın. Pool ile paralel haritalama yaptın. Manager ile paylaşılan liste kullandın. Şimdi bunları birleştirip bir paralel işçi yazacaksın: bir Process, bir Queue ve bir hesaplama bir arada.
Uygulama Paralel işçi yaz
from multiprocessing import Process, Queue ile içe aktar. worker(q, val) fonksiyonu tanımla; q.put(val * 2) yapsın. q = Queue() ile kuyruk oluştur. Process(target=worker, args=(q, 21)) ile süreç oluştur, .start() ve .join() çağır. q.get()'i yazdır.
Başlangıç kodu
# worker fonksiyonu ve kuyruk yaz
# süreç başlat ve sonucu alÖrnek çözüm
from multiprocessing import Process, Queue
def worker(q, val):
q.put(val * 2)
q = Queue()
p = Process(target=worker, args=(q, 21))
p.start()
p.join()
print(q.get())Beklenen çıktı
42
Ne öğrendin?
Bu grupta Python'da süreç tabanlı paralel çalışmayı öğrendin. Process ile yeni süreç, start ve join ile yaşam döngüsü yönetimi gördün.
Queue ile süreçler arası veri, Pool ile paralel haritalama, Manager ile paylaşılan nesneler kullandın. Özet derste bunları birleştirip bir paralel işçi yazdın. Bu bilgi, CPU yoğun işleri hızlandırmak için kritiktir.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangi araç hangi iş?
- Process ile paralel haritalama
- Queue ile süreçler arası veri Doğru cevap
- Manager ile fonksiyon çağrısı
- Pool ile tek süreç başlatma
Açıklama: Pool paralel haritalama, Process tek süreç başlatır.
2 Tüm multiprocessing kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Process |
Yeni süreç |
Queue |
Veri kuyruğu |
Pool |
Süreç havuzu |
Manager |
Paylaşılan nesne |
3 Son boşluk
from multiprocessing import Process, ____
q = Queue()
from multiprocessing import Process, Queue
q = Queue()
Açıklama: Queue, süreçler arası kuyruktur.