Kurs

Multithreading mit Java («JAVA11»)

Erweitern Sie Ihre Kenntnisse der Applikationsentwicklung mit der Programmiersprache Java, um vertieftes Wissen zu Themen wie Multithreading, Monitoren, Locks, Synchronisation, Threadsicherheit und Fork/Join-Framework zu erlangen.
Dauer 2 Tage
Preis 1'350.–   zzgl. 8.1% MWST
Kursdokumente Digicomp Kursunterlagen

Kurs-Facts

Key Learnings
  • Lernen, mit den verschiedenen Typen im Umfeld der Nebenläufigkeit von Java umzugehen
Inhalt

1 Nebenläufigkeit

  • Multitasking versus Multithreading
  • Prozesse versus Threads
  • Scheduling
  • Modelle

2 Threads

  • Zustände
  • Enumeration java.lang.Thread.State
  • Klasse java.lang.Thread
  • User Threads versus Daemon Threads
  • Prioritäten
  • Klasse java.lang.ThreadGroup

3 Runnables

  • Schnittstelle java.lang.Runnable
  • Schnittstelle java.util.concurrent.Executor
  • Schnittstelle java.util.concurrent.ThreadFactory
  • Schnittstelle java.util.concurrent.Callable

4 Executor Services und Thread Pools

  • Schnittstelle java.util.concurrent.ExecutorService
  • Schnittstelle java.util.concurrent.ScheduledExecutorService
  • Klasse java.util.concurrent.AbstractExecutorService
  • Klasse java.util.concurrent.ThreadPoolExecutor
  • Klasse java.util.concurrent.ScheduledThreadPoolExecutor
  • Schnittstelle java.util.concurrent.Future
  • Enumeration java.util.concurrent.TimeUnit
  • Klasse java.util.concurrent.Executors

5 Atomare Zugriffe

  • volatile
  • Klasse java.util.concurrent.atomic.AtomicBoolean
  • Klasse java.util.concurrent.atomic.AtomicInteger
  • Klasse java.util.concurrent.atomic.AtomicLong
  • Klasse java.util.concurrent.atomic.AtomicReference
  • Klasse java.util.concurrent.atomic.AtomicIntegerArray
  • Klasse java.util.concurrent.atomic.AtomicLongArray
  • Klasse java.util.concurrent.atomic.AtomicReferenceArray Synchronisation
  • Kollisionen
  • Monitoren
  • Klasse java.util.concurrent.Semaphore

6 Locks

  • Schnittstelle java.util.concurrent.locks.Lock
  • Klasse java.util.concurrent.locks.ReentrantLock
  • Schnittstelle java.util.concurrent.locks.ReadWriteLock
  • Klasse java.util.concurrent.locks.ReentrantReadWriteLock

7 Interaktion

  • Warten und Benachrichtigen
  • Schnittstelle java.util.concurrent.locks.Condition
  • Klasse java.util.concurrent.CyclicBarrier
  • Klasse java.util.concuttent.CountDownLatch
  • Klasse java.util.concurrent.Phaser

8 Threadsicherheit

  • Threadsichere Listen
  • Threadsichere Mengen
  • Threadsichere Schlangen
  • Threadsichere Abbildungen

9 Kommunikation

  • Pipes
  • Klasse java.io.PipedOutputStream
  • Klasse java.io.PipedInputStream
  • Klasse java.io.PipedWriter
  • Klasse java.io.PipedReader
  • Klasse java.util.concurrent.Exchanger

10 Nebenwirkungen

  • Deadlock
  • Livelock
  • CPU Starvation
  • Lock Starvation

11 Fork / Join Framework

  • Rekursion
  • Klasse java.util.concurrent.ForkJoinTask
  • Klasse java.util.concurrent.RecursiveAction
  • Klasse java.util.concurrent.RecursiveTask
  • Klasse java.util.concurrent.ForkJoinPool
Zielpublikum

Programmierer, die vertiefte Kenntnisse zu den traditionellen Wegen des Multithreading wie auch dem Concurrency API von Java erwerben wollen

Anforderungen

Besuch des folgenden Kurses oder gleichwertige Kenntnisse werden vorausgesetzt:

Download

Fragen zum Kurs

Haben Sie Fragen zum Kurs?
Vorname
Nachname
Firma optional
E-Mail
Telefon
Möchten Sie diesen Kurs als Firmenkurs buchen?
Vorname
Nachname
Firma optional
E-Mail
Telefon
Anzahl Teilnehmende
Gewünschter Kursort
Gewünschtes Startdatum (DD.MM.YYYY)
Gewünschtes Enddatum (DD.MM.YYYY)
Heute haben wir leider kein Datum für Sie.

Heute haben wir leider kein Datum für Sie.

Aber ein freundliches Ohr. Wir beraten Sie gerne individuell bei Ihrer Kursplanung.

Kontaktieren Sie uns
Heute haben wir leider kein Datum für Sie.

Weiterführende Kurse

Einführung in die Applikationsentwicklung mit Jakarta EE («JEE01»)

2 Tage
CHF
1'400.–