tutego

      Nebenläufige Programmierung mit Threads

      tutego
      In Dortmund

      1001-2000 €
      Möchten Sie den Bildungsanbieter lieber direkt anrufen?
      (0) 3... Mehr ansehen

      Wichtige informationen

      Tipologie Intensivseminar berufsbegleitend
      Niveau Mittelstufe
      Methodologie Inhouse
      Ort Dortmund
      Dauer 2 Tage
      Beginn nach Wahl
      • Intensivseminar berufsbegleitend
      • Mittelstufe
      • Inhouse
      • Dortmund
      • Dauer:
        2 Tage
      • Beginn:
        nach Wahl
      Beschreibung

      Java ermöglicht seit der Version 1.0 das Programmieren von Multithreaded Applikationen. Das Kompaktseminar wiederholt zunächst die Grundlagen paralleler Anwendungen mit den Typen Thread, Runnable sowie dem Konstrukt synchronized. Im Hauptteil lernen die Teilnehmer die Klassen und Schnittstellen aus dem Paket java.util.concurrent und Unterpaketen kennen, mit denen Thread-Koordination nunmehr komfortabel und effektiv möglich ist. Im Ausblick führt das Seminar an Beispielen das Fork/Join-Framework vor, was Teil von Java 7 ist. Parallele Streams aus Java 8 sind Teil vom Ausblick.

      Einrichtungen (1)
      Wo und wann
      Beginn Lage
      nach Wahl
      Dortmund
      Nordrhein-Westfalen, NRW, Deutschland
      Karte ansehen
      Beginn nach Wahl
      Lage
      Dortmund
      Nordrhein-Westfalen, NRW, Deutschland
      Karte ansehen

      Zu berücksichtigen

      · Voraussetzungen

      Der Kurs ›[(Java Grundlagen)]‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse.

      Fragen & Antworten

      Teilen Sie Ihre Fragen und andere User können Ihnen antworten

      Was lernen Sie in diesem Kurs?

      Java
      Programmierung

      Dozenten

      tutego Dozent
      tutego Dozent
      IT-Programmierung

      auf Anfrage Unsere Dozenten haben jahrelange praktische Erfahrungen in Ihren Fachgebieten durch Projektarbeit. Ihr Referent für das Seminar kann sich durch seine langjährige Erfahrung als Dozent und detaillierten Kenntnisse im gewünschten Bereich schnell auf die Bedürfnisse Ihrer Mitarbeiter einstellen.

      Themenkreis

      * Wiederholung zentraler Begriffe
      • Notwendigkeit von nebenläufigen Programmen (Mehrkernprozessoren)
      • Erzeugen von Threads
      • Die Schnittstelle @@Runnable@@
      • Lebenszyklus von Threads, Starten und Stoppen, Interrupt
      • Auf das Ende mit @@join@@ warten
      • Dämonen
      • Thread-Scheduling und Prioritäten
      • Exceptions: Auffangen von Ausnahmen
      • Race Conditions
      • Mit synchronized Methoden oder kritische Abschnitte schützen
      • Reentrante synchronisierte Blöcke
      • Synchronisierung statischer Methoden und Objektmethoden
      • Verhungern (Starvation)
      • Deadlocks, Deadlock Detection Utility der JVM und von Eclipse
      • @@wait@@ und @@notify@@, @@notifyAll@@ sowie Zeitfenster und Interrupts
      • @@ThreadLocal@@
      • Threads und assoziierte @@ClassLoader@@

      * Das Paket @@java.util.concurrent@@
      • Entstehung des Paketes durch Doug Lea
      • Nutzung für Java-Versionen vor 5.0
      • @@java.util.concurrent.atomic@@

      * @@Lock@@ und @@ReentrantLock@@
      • Das Paket @@java.util.concurrent.locks@@
      • Die Schnittstelle @@Lock@@ für explizites Locking
      • Lock-Implementierung @@ReentrantLock@@
      • @@lock@@, @@unlock@@, @@finally@@
      • Die Aufzählung @@TimeUnit@@

      * Executor
      • Die Schnittstelle @@Executor@@ und @@ExecutorService@@
      • Thread-Pools und Scheduled Threads
      • @@ThreadPoolExecutor@@, @@RejectedExecutionHandler@@

      * Scheduling
      • @@java.util.Timer@@ und @@javax.swing.Timer@@
      • @@ScheduledThreadPoolExecutor@@
      • Scheduling im Großen: Quartz

      * @@Runnable@@ und @@Callable@@
      • Threads mit Ergebnissen
      • @@Callable@@ und die Nutzung
      • Spätere Ergebnisse mit @@Future@@

      * Komfortable Thread-Koordination
      • Schnittstellen @@Queue@@, @@BlockingQueue@@, @@TransferQueue@@
      • Implementierungen @@LinkedBlockingQueue@@, @@DelayQueue@@, @@PriorityBlockingQueue@@
      • @@CyclicBarrier@@, Vergleich mit @@join@@
      • @@Exchanger@@
      • @@Latch@@

      * Anwendung von Threads in der Java-Bibliothek
      • Thread-Kommunikation mit Piped-Stream, @@PipedReader@@, @@PipedWriter@@
      • Paralleler Zugriff auf Datenstrukturen @@Vector@@ vs. @@ArrayList@@
      • @@Collections.synchronizedXXX@@, Iteratoren
      • Lock-Free Datenstrukturen, @@ConcurrentHashMap@@, @@ConcurrentLinkedQueue@@
      • @@CopyOnWriteArrayList@@, @@CopyOnWriteArraySet@@
      • Threads in Swings, der AWT-Event-Dispatching Thread

      * Java 8 Streams
      • Lambda-Ausdrücke
      • Stream-API
      • Parallele versus sequenzielle Abarbeitung

      * Testen
      • Umgang mit dem Nichtdeterminismus
      • JUnit und @@junit.extensions.RepeatedTest@@
      • JunitPerf und com.clarkware.junitperf.LoadTest

      Zusätzliche Informationen

      Profitieren Sie von unserem Konzept der kundenangepassten Inhouse-Seminare. Die Kursinhalte werden individuell abgesprochen und beinhalten ausgewählte Themen unserer Seminarbeschreibungen. So berücksichtigt die Weiterbildung Ihre vorhandene Infrastruktur und ist immer auf die Ziele Ihres Unternehmens und speziellen Erfahrungen und Wünsche der Mitarbeiter ausgerichtet. Die Weiterbildungskosten sind unabhängig von der Anzahl der Teilnehmer. tutego stellt deutschsprachige Schulungsunterlagen zur Verfügung (in der Regel als PDF zur Vervielfältigung) und jeder Teilnehmer erhält mit Abschluss der Schulung eine Teilnahmebestätigung. Für praktische Übungen stellt der Auftraggeber einen Kursraum mit Infrastruktur (Arbeitsplätze/Laptops und Beamer) bereit.

      Vergleichen Sie und treffen Sie die beste Wahl:
      Mehr ansehen