MULTITHREADING AND CONCURRENCY IN JAVA: SPAWNING & LAUNCHING THREADS EĞİTİMİ

Java thread'lerini doğru başlatın ve yönetin

Thread/Runnable, yaşam döngüsü, join ve interrupt, UncaughtExceptionHandler, ThreadLocal ve virtual thread başlatma.

Java'da thread oluşturma, başlatma ve yönetimini öğrenin: Runnable, yaşam döngüsü, join, interrupt, UncaughtExceptionHandler, ThreadLocal ve virtual thread builder'ları.

2 gün Temel Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Thread oluşturma, başlatma ve yaşam döngüsü yönetimi

Eğitim, Java'da thread oluşturma ve yönetiminin temel mekaniğini kapsar. Thread ve Runnable ile başlatma, start-run farkı, yaşam döngüsü durumları, daemon thread ve shutdown hook anlatılır. join ve Callable ile sonuç toplama, interrupt ile temiz iptal, UncaughtExceptionHandler ile hata yönetimi uygulanır. ThreadLocal ve MDC bağlamı, Java 21 Thread.ofVirtual builder'ları işlenir; çok thread'li indirici laboratuvarı ile pekiştirilir.

Süre ve Format

2 Gün. Her gün dört modül; Thread Oluşturma ve Yaşam Döngüsü; Hata, Bağlam ve Sanal Thread ekseninde ilerleyen uygulamalı program.

Seviye

Temel Seviye — Java'da thread oluşturma ve başlatma: Thread/Runnable, yaşam döngüsü, interrupt ile iptal, istisna yönetimi ve sanal thread.

Öğrenme Metodu

Her konu thread çıktılarının canlı izlendiği küçük programlarla işlenir; son lab gerçek bir paralel indirici yazdırır.

Neden Bu Eğitim?

🚀Doğru Başlangıç

Thread'leri start/join/interrupt ile kontrollü başlatır ve durdurursunuz.

🧯Hata Yönetimi

Thread içinde kaybolan istisnaları yakalayıp raporlarsınız.

🪶Sanal Thread Girişi

Platform ve virtual thread başlatma farkını uygularsınız.

Anahtar Konular

java thread oluşturmajava runnablejava thread başlatmajava thread lifecyclejava interruptjava threadlocaljava virtual threadjava daemon threadjava multithreadingjava thread eğitimi
“Bir thread başlatmak kolaydır; onu düzgün bitirmek işin asıl kısmıdır.”

Ön Koşullar

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

1
Temel Java

Sınıf, interface ve koleksiyon kullanımı bilgisi gerekir.

2
JDK 17+

JDK 17+ ve bir IDE kurulu olmalıdır.

3
Maven

Maven ile proje açıp bağımlılık eklemek faydalıdır.

4
Çok Çekirdekli Makine

Eş zamanlılık deneyleri için en az dört çekirdekli bir bilgisayar önerilir.

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ı thread'leri oluşturur, yaşam döngüsünü izler ve temiz iptal uygular.
Modül 1
Thread ve Runnable
  • Thread alt sınıfı ile Runnable uygulamasının karşılaştırması
  • Lambda ile Runnable yazımı
  • start() ile run() doğrudan çağırma farkı
  • Thread yapıcıları, adlandırma ve öncelik
  • Aynı Runnable ile birden çok thread başlatma
  • Thread başlatma maliyeti ölçümü
Modül 2
Thread Yaşam Döngüsü
  • NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED
  • getState() ile durum izleme
  • sleep, yield ve join etkileri
  • Ana thread bitince diğer thread'lerin akıbeti
  • Daemon ve kullanıcı thread'leri
  • Uygulamanın JVM kapanış kancası (shutdown hook)
Modül 3
Sonuç Toplama ve Join
  • join ile thread bitişini bekleme
  • Thread'den sonuç döndürmenin yolları
  • Callable ve FutureTask kullanımı
  • Ortak nesne üzerinden sonuç yazma riskleri
  • Birden çok thread'i başlatıp tümünü bekleme
  • Zaman aşımlı join ve takılma önleme
Modül 4
Interrupt ve İptal
  • interrupt() bayrağı ve InterruptedException
  • Bloklayan çağrıların uyanması
  • Durumu geri yükleme: Thread.currentThread().interrupt()
  • Volatile bayrakla iptal ve sınırları
  • Future.cancel(true) davranışı
  • Temiz kapanış deseni
Günün hedefiKatılımcı istisnaları yönetir, bağlam taşır ve paralel indirici geliştirir.
Modül 1
Yakalanmamış İstisnalar
  • UncaughtExceptionHandler tanımlama
  • Thread içinde istisnanın ana thread'e yansımaması
  • Executor'da istisna yutulması ve Future.get
  • Varsayılan handler ve loglama
  • Başarısız thread'in yeniden başlatılması
  • Hata yönetimi stratejisi
Modül 2
ThreadLocal ve Bağlam
  • ThreadLocal.withInitial kullanımı
  • Thread havuzunda ThreadLocal sızıntısı
  • InheritableThreadLocal sınırları
  • MDC ile istek bağlamı taşıma
  • ScopedValue alternatifi
  • SimpleDateFormat gibi güvenli olmayan nesnelerin yalıtımı
Modül 3
Platform ve Sanal Thread Başlatma
  • Thread.ofPlatform() ve Thread.ofVirtual() builder'ları
  • Thread.startVirtualThread
  • Virtual thread adı ve izlenmesi
  • Binlerce thread başlatma deneyi
  • Bloklayan çağrılarda taşıyıcı thread davranışı
  • Thread.Builder ile fabrika yazımı
Modül 4
Lab: Çok Thread'li İndirici
  • URL listesini paralel indiren program
  • Thread sayısı sınırı ve havuz kullanımı
  • İptal ve zaman aşımı
  • İlerleme raporlaması için paylaşılan sayaç
  • Hataya dayanıklı yeniden deneme
  • Sonuçların sıralı birleştirilmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Thread Başlatma

Thread ve Runnable ile görevleri doğru başlatabilirsiniz.

🧩
start-run Farkı

start ve run çağrısının sonuç farkını açıklayabilirsiniz.

⚙
Yaşam Döngüsü

Thread durumlarını izleyip yorumlayabilirsiniz.

️
Join ve Sonuç

Callable ve join ile sonuç toplayabilirsiniz.

🔍
Interrupt

InterruptedException'ı doğru ele alıp temiz iptal yapabilirsiniz.

🛠
İstisna Yönetimi

UncaughtExceptionHandler ile hataları yakalayabilirsiniz.

️
ThreadLocal

Bağlam bilgisini sızıntısız taşıyabilirsiniz.

🧪
Sanal Thread

Platform ve virtual thread başlatabilirsiniz.

Kimler İçin Uygundur?

  • Java'da ilk kez thread yazacak veya mevcut thread kodunu düzeltmek isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java'da ilk kez thread yazacak veya mevcut thread kodunu düzeltmek isteyen geliştiriciler için uygundur.
start() yerine run() çağırırsam ne olur?
Kod yeni thread'de değil mevcut thread'de çalışır; eğitimde çıktılarla gösterilir.
Thread mi Runnable mı tercih edilmeli?
Genellikle Runnable veya Callable; çünkü görev ile çalıştırma mekanizması ayrılır.
Sanal thread için hangi sürüm gerekir?
Java 21 ve üzeri.
Eğitim sonunda sertifika verilir mi?
Katılım ve değerlendirme sonrasında 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. Multithreading and Concurrency in Java: Spawning & Launching Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMAPI Geliştirme ve Testi Java (Jersey) Kullanarak Eğitimi
Yazılım Geliştirme Eğitimleri

API Geliştirme ve Testi Java (Jersey) Kullanarak Eğitimi

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

Jersey ile REST API geliştirme ve test eğitimi: JAX-RS, Jackson JSON, ExceptionMapper, filtreler, JWT güvenliği, JerseyTest, REST Assured ve Postman/Newman.

Detayları Gör →
Java ve JVMArchitect Enterprise Applications with Java EE Eğitimi
Yazılım Geliştirme Eğitimleri

Architect Enterprise Applications with Java EE Eğitimi

3 günUzmanOnline / Yüz Yüze / Hibrit

Java EE (Jakarta EE) kurumsal mimari eğitimi: CDI, JPA/JTA, EJB, JAX-RS, JMS, güvenlik, MicroProfile ve Docker ile katmanlı uygulama tasarımı.

Detayları Gör →
Java ve JVMBack-end Apps : Java Persistence Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps : Java Persistence Eğitimi

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

Java Persistence (JPA) eğitimi: entity eşleme, EntityManager, JPQL, OneToMany/ManyToMany ilişkiler, cascade, lazy loading ve transaction yönetimi.

Detayları Gör →
Java ve JVMBack-end Apps: Java Message Service (JMS) Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: Java Message Service (JMS) Eğitimi

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

Java Message Service (JMS) eğitimi: Queue/Topic, JMS 2.0 JMSContext, mesaj türleri, selector, kalıcı abonelik, Message-Driven Bean, transaction ve DLQ.

Detayları Gör →
Java ve JVMBack-end Apps: JNDI & EJB Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: JNDI & EJB Eğitimi

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

JNDI ve EJB eğitimi: InitialContext, java:comp/env, Stateless/Stateful/Singleton bean, container-managed transaction, TimerService ve uzaktan EJB çağrısı.

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