CodeBlanks Logo Icon CodeBlanks

Özet - Threading ve asyncio

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

main.py
# sayaç ve kilit tanımla
# increment fonksiyonu yaz
# parçacık çalıştır ve yazdır

Örnek çözüm

main.py
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

Soru
from threading import Thread, ____
lock = Lock()
Cevap
from threading import Thread, Lock
lock = Lock()

Açıklama: Lock, kritik bölgeyi korur.

Uzman bölümündeki tüm dersler