Özet - Threading ve asyncio
- Python kursu
- Uzman
- Ders 36/47
- 5 dk
Thread, Lock ve ThreadPoolExecutor'ı birleştirerek bir sayaç yazarsın.
Özet: Threading ve asyncio
Bu grupta parçacıklı ve eşzamanlı programlamayı öğrendin. Thread ile parçacık başlattın, Lock ile kritik bölgeyi korudun.
GIL'in CPU yoğun işleri nasıl engellediğini gördün. ThreadPoolExecutor ile havuz kullandın. asyncio'nun tek parçacıklı alternatifini öğrendin. Şimdi bunları birleştirip bir parçacıklı sayaç yazacaksın: Thread ve Lock ile güvenli bir sayaç.
Uygulama Parçacıklı sayaç yaz
from threading import Thread, Lock ile içe aktar. count = 0 ve lock = Lock() tanımla. increment fonksiyonu yaz: global count, lock.acquire(), count += 1, lock.release(). Thread(target=increment) ile parçacık oluştur, .start() ve .join() çağır. count'u yazdır.
Başlangıç kodu
# sayaç ve kilit tanımla
# increment fonksiyonu yaz
# parçacık çalıştır ve yazdırÖrnek çözüm
from threading import Thread, Lock
count = 0
lock = Lock()
def increment():
global count
lock.acquire()
count += 1
lock.release()
t = Thread(target=increment)
t.start()
t.join()
print(count)Beklenen çıktı
1
Ne öğrendin?
Bu grupta Python'da eşzamanlı programlamanın iki yolunu öğrendin. threading ile parçacık, Lock ile kritik bölge koruması gördün.
GIL'in CPU yoğun işlerde paralelliği nasıl engellediğini anladın. ThreadPoolExecutor ile havuz yönetimini öğrendin. asyncio'nun tek parçacıklı eşzamanlı alternatifini gördün. Özet derste Thread ve Lock'ı birleştirip güvenli sayaç yazdın.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Tüm threading kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Thread |
İş parçacığı |
Lock |
Kritik bölge |
GIL |
Paralellik engeli |
asyncio |
Eşzamanlı I/O |
2 Hangi araç hangi iş?
- ThreadPoolExecutor ile havuz Doğru cevap
- Lock ile parçacık başlatma
- Thread ile kritik bölge koruma
- GIL ile paralel hızlandırma
Açıklama: Lock korur, Thread başlatır, GIL engeller.
3 Son boşluk
from threading import Thread, ____
lock = Lock()
from threading import Thread, Lock
lock = Lock()
Açıklama: Lock, kritik bölgeyi korur.