MULTITHREADING AND CONCURRENCY IN JAVA: INTRODUCTION TO CONCURRENT PROGRAMMING EĞİTİMİ

Java'da eşzamanlı programlamaya doğru başlayın

Concurrency-parallelism farkı, Java Bellek Modeli, volatile, synchronized, thread-safe tasarım, Executor ve temel hata ayıklama.

Java'da concurrency temellerini öğrenin: thread yaşam döngüsü, bellek modeli, yarış durumu, synchronized, thread-safe tasarım ve ExecutorService girişi uygulamalı işlenir.

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

Eğitim Hakkında

Eşzamanlı programlamanın temel kavramları ve araçları

Eğitim, çok iş parçacıklı Java programlamanın temel kavramlarını derinleştirmeden ama doğru kurar. Concurrency ve parallelism farkı, Amdahl Yasası, CPU-bound ve I/O-bound ayrımı ile başlanır. Thread yaşam döngüsü, start-run farkı, join ve interrupt, Java Bellek Modeli, happens-before ve volatile anlatılır. synchronized ile sayaç güvenli hale getirilir, thread-safe sınıf tasarımı ve ExecutorService girişi yapılır. Deadlock gibi tehlikeler küçük demolarla gösterilir.

Süre ve Format

2 Gün. Her gün dört modül; Kavramlar ve Bellek Modeli; Güvenli Kod ve Araçlar ekseninde ilerleyen uygulamalı program.

Seviye

Temel Seviye — Java'da eşzamanlı programlamanın temelleri: thread modeli, Java Bellek Modeli, yarış durumu, synchronized ve Executor girişi.

Öğrenme Metodu

Her kavram, hatanın görüldüğü küçük bir demoyla başlar; ardından düzeltilmiş sürüm yazılır ve thread dökümü incelenir.

Neden Bu Eğitim?

🌱Sağlam Temel

Eşzamanlılık kavramlarını ezber yerine deneyle öğrenirsiniz.

👀Görünürlük Bilinci

Java Bellek Modeli'ni bilerek sessiz hataları önlersiniz.

🛠️İlk Güvenli Kod

synchronized ve Executor ile ilk thread-safe uygulamanızı yazarsınız.

Anahtar Konular

java eşzamanlı programlamajava concurrency girişjava threadjava bellek modelijava volatilejava synchronizedjava executorservicejava multithreading eğitimijava happens-beforejava yarış durumu
“Eşzamanlılığı anlamak, işlerin aynı anda değil, birbirine karışmadan ilerlemesini sağlamaktı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ı eşzamanlılık kavramlarını ve Java Bellek Modeli'ni açıklar, ilk thread'lerini çalıştırır.
Modül 1
Eşzamanlılığa Giriş
  • Eşzamanlılık (concurrency) ile paralellik (parallelism) farkı
  • Süreç ve thread kavramları, bağlam değiştirme maliyeti
  • Amdahl Yasası ve hızlanma sınırı
  • CPU-bound ve I/O-bound iş yükleri
  • Java'nın thread modeli ve işletim sistemi thread'leri
  • Eşzamanlılığın ne zaman gereksiz olduğu
Modül 2
İlk Thread'ler
  • Thread ve Runnable ile ilk thread
  • start() ile run() farkı
  • Thread.sleep, join ve interrupt
  • Thread durumları: NEW, RUNNABLE, BLOCKED, WAITING
  • Thread adlandırma ve öncelik
  • Yürütme sırasının belirsizliğini gösteren deney
Modül 3
Java Bellek Modeli
  • Önbellekler, yeniden sıralama ve görünürlük
  • happens-before kuralları
  • volatile ile görünürlük ve sıra garantisi
  • volatile'ın atomiklik sağlamaması
  • Güvenli yayımlama (safe publication)
  • final alanların başlatma garantileri
Modül 4
Eşzamanlılık Tehlikeleri
  • Yarış durumu, deadlock, livelock ve starvation tanımları
  • Kilitlenme için dört koşul
  • Tutarsız durum gözleme (stale read)
  • Bölünmüş (non-atomic) long ve double yazımı
  • Kısmen oluşturulmuş nesne sızması
  • Tehlikeleri hikâyeleştiren küçük demolar
Günün hedefiKatılımcı thread-safe sınıf yazar, Executor kullanır ve basit sorunları teşhis eder.
Modül 1
synchronized Giriş
  • synchronized metot ve blok farkı
  • Hangi nesnenin monitörünün kullanıldığı
  • Kilit kapsamını küçük tutma
  • Reentrant davranış
  • Sayaç sınıfını güvenli hale getirme
  • synchronized'ın maliyeti ve çekişme
Modül 2
Thread-Safe Sınıf Tasarımı
  • Durumsuz (stateless) nesnelerin doğal güvenliği
  • Değişmezlik ile güvenlik
  • Thread confinement ve ThreadLocal
  • Koleksiyon sarmalayıcıları: Collections.synchronizedList
  • Thread-safe API'de bileşik işlemler
  • Thread güvenliğini belgelendirme
Modül 3
Executor Giriş
  • ExecutorService ve Executors fabrikaları
  • submit, Future.get ve zaman aşımı
  • Runnable ile Callable farkı
  • Thread havuzunun avantajları
  • shutdown ile kapanış
  • Uygulama: paralel dosya boyutu hesabı
Modül 4
Araçlar ve Hata Ayıklama
  • Debugger'da thread bazlı breakpoint
  • jstack ile ilk thread dökümü
  • Loglama ve thread adı kullanımı
  • VisualVM ile CPU ve thread izleme
  • JUnit ile eşzamanlı test sınırları
  • Yaygın başlangıç hataları listesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Temel Kavramlar

Concurrency, parallelism ve Amdahl Yasası'nı açıklayabilirsiniz.

🧩
Thread Yaşam Döngüsü

Thread durumlarını ve start-join-interrupt akışını yönetebilirsiniz.

⚙
Bellek Modeli

happens-before ve volatile kurallarını uygulayabilirsiniz.

️
Tehlikeleri Tanıma

Yarış durumu ve deadlock desenlerini ayırt edebilirsiniz.

🔍
synchronized

Kritik bölgeleri küçük kapsamla koruyabilirsiniz.

🛠
Thread-Safe Tasarım

Değişmezlik ve confinement ile güvenli sınıf tasarlayabilirsiniz.

️
Executor Kullanımı

ExecutorService ile görev gönderip sonuç alabilirsiniz.

🧪
Hata Ayıklama

jstack ve VisualVM ile thread sorunlarını inceleyebilirsiniz.

Kimler İçin Uygundur?

  • Çok iş parçacıklı programlamaya yeni başlayan Java geliştiricileri
  • öğrenciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Çok iş parçacıklı programlamaya yeni başlayan Java geliştiricileri ve öğrenciler için uygundur.
Eşzamanlılık ile paralellik aynı şey mi?
Hayır. Eşzamanlılık işlerin iç içe ilerlemesi, paralellik aynı anda çalışmasıdır; eğitimde farkı gösteren deneyler yapılır.
volatile yeterli mi, synchronized gerekir mi?
volatile görünürlük sağlar ama bileşik işlemleri atomik yapmaz; sayaç örneğinde fark görülür.
Önceden thread bilgisi gerekir mi?
Hayır, temel Java yeterlidir.
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: Introduction to Conc 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

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn