Schulung Concurrent Java

Beschreibung/Inhalt

„Writing correct programs is hard; writing correct concurrent programs is harder. There are simply more things that can go wrong in a concurrent program than in a sequential one.“ (Brian Goetz)

Die Erstellung von Programmen, die in mehreren parallelen Threads ablaufen, wird in Java direkt von der Sprache unterstützt. Aus diesem Grund gehören fundierte Kenntnisse der Multithread-Programmierung zum Basiswissen eines jeden Java-Programmierers. Heutzutage gibt es kaum noch Anwendungen, die kein Multithreading einsetzen. Das bedeutet, dass jeder Java-Entwickler, selbst wenn er selbst keine Threads oder Tasks implementiert, damit rechnen muss, dass die eigenen Abstraktionen von anderen Threads und Tasks konkurrierend verwendet werden - und schon muss der Entwickler über die Thread-Safety seiner Klassen nachdenken. Im Grunde genommen ist fast jeder Java-Entwickler in irgendeiner Form vom Multithreading betroffen - und die Anforderungen steigen.

Dieses Schulungsmodul kann mit allen aktuellen Java-Versionen (z.B. 21, 20, 19, 18) entsprechend Ihren Wünschen durchgeführt werden.

# Multi-Threading Basics

  • Synchronization Basics
  • Thread Safety
  • Thread Creation

  • # Concurrency Control
  • Shared Mutable State & Synchronization
  • Implicit and Explicit Locks
  • Read-Write-Lock & Stamped Lock
  • Signals & Conditions
  • Blocking Queues & Deques
  • Semaphore & CountDownLatch
  • Barrier & Phaser
  • Synchronized Collections
  • Concurrent Collections
  • Thread-Local Memory
  • Atomic Scalars & Accumulators

  • # Thread and Task Control
  • Task Execution, Threads & Pools
  • Thread States, Groups & Priorities
  • Thread Interruption
  • Threads & Exceptions
  • Thread Pool Executor Basics & Setup
  • Completion Service
  • Scheduled Tasks
  • Thread Pool Executor Configuration
  • Thread Pool Executor Shutdown
  • Thread Pool Executor Customization
  • Fork-Join-Framework
  • Recursive Tasks
  • Fork-Join-Framework Principles & Basic Usage
  • Fork-Join-Framework Configuration
  • Managed Blocker
  • Fork-Join-Framework Internals & Performance
  • Completable Future
  • Asynchronous Result Retrieval
  • Reactive Fluent Programming
  • Virtual Threads & Structured Concurrency

  • # Memory Model
  • Memory Effects of Volatile Variables
  • Double Checked Locking
  • Initialization Safety of Final Fields
  • Atomic References

  • Dauer
    Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
    Ort
    Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
    Schulungsdidaktik
    Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil