PYTHON CONCURRENT PROGRAMMING: MULTITHREADING IN PYTHON EĞİTİMİ

Python'da iş parçacıklarını güvenle yönetin

threading, Lock, Queue, ThreadPoolExecutor ve GIL etkilerini yarış durumlarını önleyerek uygulamalı öğrenin

Python threading modülü, Lock ve Semaphore ilkelleri, Queue tabanlı üretici-tüketici mimarisi, ThreadPoolExecutor ve GIL'in etkisi uygulamalı anlatılır. Yarış durumu ve deadlock tespiti ile doğru eşzamanlılık modeli seçimi öğretilir.

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Eşzamanlı Python kodunda doğruluk ve performans dengesi

Python'un threading modülüyle çok iş parçacıklı uygulama geliştirmeyi öğretir. Thread yaşam döngüsü, Lock/RLock/Semaphore/Event/Condition ilkelleri, queue.Queue ile üretici-tüketici kalıbı, concurrent.futures.ThreadPoolExecutor, GIL'in CPU-bound ve I/O-bound işlere etkisi, deadlock ve race condition tespiti ile threading.local kullanımı uygulamalı işlenir.

Süre ve Format

4 Gün. Her gün dört modül; 1. gün Thread Temelleri ve GIL, 2. gün Senkronizasyon İlkelleri, 3. gün Kuyruklar ve Havuzlar, 4. gün Hata Ayıklama ve İyi Pratikler konularına ayrılmıştır.

Seviye

İleri Seviye — threading, kilitler, kuyruklar, thread havuzları ve GIL kısıtlarının pratik yönetimi

Öğrenme Metodu

Her modül canlı kodlama ile işlenir; yarış durumları bilinçli olarak üretilip kilit ve kuyruk çözümleriyle giderilir, zaman ölçümleriyle kazanç karşılaştırılır.

Neden Bu Eğitim?

🧵Doğru Eşzamanlılık

Thread güvenliği sorunlarını deterministik testlerle yakalayıp giderirsiniz.

⚡Ölçülebilir Hız

I/O bekleyen işlerde thread havuzuyla süreyi gözle görülür biçimde kısaltırsınız.

🔒Güvenli Paylaşım

Paylaşılan durumu kilit ve kuyruklarla koruyan kalıpları edinirsiniz.

Anahtar Konular

python multithreadingpython threading eğitimipython concurrencyGILThreadPoolExecutorpython queuerace conditiondeadlockpython eşzamanlı programlama
“Eşzamanlılık hız vaat eder, ancak doğruluk ancak disiplinle korunur.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Python Temelleri

Fonksiyon, sınıf ve context manager kullanımına hakimiyet gerekir.

2
Python 3.10+

Bilgisayarda Python 3.10 veya üzeri kurulu olmalıdır.

3
Editör

VS Code veya PyCharm gibi bir IDE hazır olmalıdır.

4
Temel I/O

Dosya ve HTTP isteği mantığına aşinalık faydalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı ile eşzamanlılık ile paralellik farkını ayırt eder, GIL'in etkisini ölçer.
Modül 1
Süreç, Thread ve GIL
  • process ile thread farkı ve bellek paylaşımı
  • CPython GIL'in çalışma mantığı ve bytecode kilidi
  • CPU-bound işte thread'in neden hızlandırmadığı
  • I/O-bound işte GIL'in serbest bırakılması
  • time.perf_counter ile ölçüm yöntemi
  • sys.getswitchinterval ve context switch
Modül 2
threading.Thread Kullanımı
  • Thread(target, args, kwargs) oluşturma
  • start, join ve timeout parametresi
  • daemon thread davranışı ve program çıkışı
  • Thread alt sınıfı ile run() yazımı
  • threading.current_thread ve isimlendirme
  • thread içinde istisna yakalama (excepthook)
Modül 3
Yarış Durumu (Race Condition)
  • paylaşılan sayaçta kayıp güncelleme örneği
  • read-modify-write adımlarının bölünmesi
  • dis modülü ile bytecode incelemesi
  • sys.setswitchinterval ile hatayı tetikleme
  • atomik işlemler ve list.append güvenliği
  • yarış durumunu tekrarlanabilir test etme
Modül 4
Thread Yaşam Döngüsü
  • is_alive ve enumerate ile izleme
  • threading.Timer ile gecikmeli iş
  • işbirlikçi iptal için Event bayrağı
  • graceful shutdown örüntüsü
  • KeyboardInterrupt ve ana thread yönetimi
  • logging ile thread adlı günlük
Günün hedefiKatılımcı ile Lock, RLock, Semaphore, Event ve Condition ilkellerini doğru senaryoda kullanır.
Modül 1
Lock ve RLock
  • with lock bloğu ile kritik bölge
  • acquire(blocking, timeout) kullanımı
  • RLock ile özyinelemeli kilit
  • kilit granülaritesi ve performans etkisi
  • deadlock oluşumu ve kilit sıralaması
  • lock ile nesne durumunu koruma
Modül 2
Semaphore ve BoundedSemaphore
  • bağlantı sayısını sınırlama
  • rate limit için semaphore
  • BoundedSemaphore ile fazladan release hatası
  • havuz kaynakları ve semaphore
  • Barrier ile aşamalı senkronizasyon
  • zaman aşımı ve hata yönetimi
Modül 3
Event ve Condition
  • Event set/clear/wait ile sinyalleşme
  • Condition wait/notify_all kalıbı
  • kaçırılan uyanma sorunu ve while döngüsü
  • başlangıç hazır bekleme senaryosu
  • Condition ile sınırlı tampon
  • yanlış kullanım hataları
Modül 4
Thread-Local ve Paylaşılan Durum
  • threading.local ile istek bağlamı
  • değişmez veri yapılarıyla paylaşım
  • copy-on-write yaklaşımı
  • thread-safe sayaç ve önbellek
  • iç içe kilitlerin tasarım kokusu
  • kod incelemede thread güvenliği denetimi
Günün hedefiKatılımcı ile üretici-tüketici mimarisi kurar, ThreadPoolExecutor ile iş dağıtır.
Modül 1
queue.Queue Ailesi
  • Queue, LifoQueue ve PriorityQueue
  • put/get, maxsize ve geri basınç
  • task_done ve join ile tamamlama
  • sentinel (poison pill) ile durdurma
  • Empty ve Full istisnaları
  • SimpleQueue özellikleri
Modül 2
Üretici-Tüketici Kalıbı
  • işçi thread'ler ve iş kuyruğu tasarımı
  • sabit sayıda worker ile boru hattı
  • çok aşamalı pipeline kurulumu
  • hata durumunda iş yeniden deneme
  • sonuç toplama kuyruğu
  • ölçeklendirme ve worker sayısı seçimi
Modül 3
ThreadPoolExecutor
  • submit, map ve as_completed
  • Future nesnesi, result ve exception
  • max_workers seçim kriterleri
  • with bloğu ve shutdown(wait)
  • iptal, timeout ve done callback
  • concurrent.futures.wait kullanımı
Modül 4
I/O Yoğun Senaryolar
  • requests ile paralel HTTP indirme
  • çoklu dosya okuma-yazma
  • veritabanı bağlantı havuzu ve thread
  • tekrarlı çağrılarda zaman ölçümü
  • sıralı ve havuzlu çalışma karşılaştırması
  • ağ hatalarında retry stratejisi
Günün hedefiKatılımcı ile eşzamanlı kodu test eder, hata ayıklar ve doğru modeli (thread, process, asyncio) seçer.
Modül 1
Deadlock ve Livelock Teşhisi
  • faulthandler.dump_traceback ile yığın dökümü
  • py-spy ile canlı thread incelemesi
  • kilit sıralama kuralı
  • timeout ile deadlock önleme
  • starvation ve adalet sorunu
  • loglardan kilit bekleme analizi
Modül 2
Test Stratejileri
  • unittest ile thread testleri
  • zamanlama bağımlılığını kaldırma
  • mock ile I/O ayrıştırma
  • Event ile test senkronizasyonu
  • stres testi ve tekrarlı koşum
  • pytest-timeout ile asılma yakalama
Modül 3
Alternatif Modeller
  • multiprocessing ile CPU-bound işler
  • asyncio ile tek thread eşzamanlılık
  • ProcessPoolExecutor farkları
  • thread, process, asyncio karar tablosu
  • free-threaded Python (PEP 703) gözlemi
  • karma mimari örnekleri
Modül 4
Uçtan Uca Proje
  • çok thread'li web kazıyıcı yazımı
  • kuyruk, havuz ve loglama birleşimi
  • graceful shutdown ve sinyal yönetimi
  • performans raporu çıkarma
  • kod gözden geçirme kontrol listesi
  • iyileştirme ve sonraki adımlar

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Thread Kurma

Thread oluşturup yaşam döngüsünü yönetebilirsiniz.

✅
GIL Analizi

GIL etkisini CPU ve I/O işlerinde ölçerek yorumlayabilirsiniz.

✅
Yarış Tespiti

Race condition üretip kilitle giderebilirsiniz.

✅
Senkronizasyon

Lock, Semaphore, Event ve Condition ilkellerini doğru seçebilirsiniz.

✅
Kuyruk Mimarisi

Queue ile üretici-tüketici hattı kurabilirsiniz.

✅
Havuz Kullanımı

ThreadPoolExecutor ile işleri dağıtıp Future sonuçlarını yönetebilirsiniz.

✅
Hata Ayıklama

Deadlock ve asılma sorunlarını teşhis edebilirsiniz.

✅
Model Seçimi

Thread, process ve asyncio arasında gerekçeli karar verebilirsiniz.

Kimler İçin Uygundur?

  • Python bilen
  • I/O yoğun servisleri hızlandırmak
  • eşzamanlılık hatalarından kaçınmak isteyen geliştiriciler ve backend mühendisleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Python bilen ve I/O yoğun uygulamaları hızlandırmak veya thread güvenliği sorunlarını çözmek isteyen geliştiriciler için uygundur.
GIL varken thread kullanmanın anlamı nedir?
Ağ, disk ve veritabanı beklemelerinde GIL serbest kalır; bu yüzden I/O-bound işlerde thread belirgin kazanç sağlar. CPU-bound işlerde ise process tabanlı çözümler karşılaştırılır.
Eğitimde hangi kütüphaneler kullanılır?
threading, queue, concurrent.futures, logging, unittest ve örnek HTTP istekleri için requests kullanılır.
Asyncio da işleniyor mu?
Ana odak threading'dir; asyncio ve multiprocessing karar tablosunda alternatif model olarak karşılaştırılır.
Eğitim sonunda sertifika alınır mı?
Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Python Concurrent Programming: Multithreading in Python Eğit Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
KonuPython
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

PythonBuilding Web Apps Using Django: Implementing Login & Logout Eğitimi
Yazılım Geliştirme Eğitimleri

Building Web Apps Using Django: Implementing Login & Logout Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Django login ve logout eğitimi: authenticate, LoginView, LogoutView, login_required, oturum yönetimi, parola sıfırlama, özel kullanıcı modeli ve izinler.

Detayları Gör →
PythonBuilding Web Apps Using Django: Introduction to Web Frameworks & Django Eğitimi
Yazılım Geliştirme Eğitimleri

Building Web Apps Using Django: Introduction to Web Frameworks & Django Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Web çerçeveleri ve Django'ya giriş eğitimi: istek-yanıt döngüsü, WSGI/ASGI, Flask ile karşılaştırma, MVT mimarisi, proje kurulumu ve ilk Django uygulaması.

Detayları Gör →
PythonBuilding Web Apps Using Django: Models & User Registration Eğitimi
Yazılım Geliştirme Eğitimleri

Building Web Apps Using Django: Models & User Registration Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Django modeller ve kullanıcı kaydı eğitimi: model alanları, migration, ORM sorguları, ilişkiler, ModelForm, UserCreationForm, CSRF ve kayıt akışı uygulamaları.

Detayları Gör →
PythonBuilding Web Apps Using Django: Templates & User Administration Eğitimi
Yazılım Geliştirme Eğitimleri

Building Web Apps Using Django: Templates & User Administration Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Django şablonlar ve kullanıcı yönetimi eğitimi: template dili, kalıtım, özel tag ve filtreler, context processor, admin özelleştirme, grup ve izin yönetimi.

Detayları Gör →
PythonBüyük Veri ve Python ile Uygulamaları Eğitimi
Yazılım Geliştirme Eğitimleri

Büyük Veri ve Python ile Uygulamaları Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Büyük veri ve Python uygulamaları eğitimi: PySpark, Dask, Polars, Parquet, Kafka akış işleme, Airflow ve ölçeklenebilir veri hattı tasarımı.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn