Nebenläufige Programmierung in Java: Threads
|
|
|
- Dominic Fuhrmann
- vor 9 Jahren
- Abrufe
Transkript
1 Nebenläufige Programmierung in Java: Threads Wahlpflicht: Fortgeschrittene Programmierung in Java Jan Henke HAW Hamburg 10. Juni 2011 J. Henke (HAW) Threads 10. Juni / 18
2 Gliederung 1 Grundlagen Wiederholung: Threadgrundlagen Einfache Threads in Java 2 Fortgeschrittene Konzepte Executor Synchronisation J. Henke (HAW) Threads 10. Juni / 18
3 Gliederung 1 Grundlagen Wiederholung: Threadgrundlagen Einfache Threads in Java 2 Fortgeschrittene Konzepte Executor Synchronisation J. Henke (HAW) Threads 10. Juni / 18
4 Definition einen Threads Definition Ein Thread ist ein Programmteil, welcher parallel zum dem übrigen Programm ausgeführt wird, über einen eigenen Stack verfügt und außer diesem alle Ressourcen mit dem restlichen Prozess teilt. J. Henke (HAW) Threads 10. Juni / 18
5 Definition einen Threads Definition Ein Thread ist ein Programmteil, welcher parallel zum dem übrigen Programm ausgeführt wird, über einen eigenen Stack verfügt und außer diesem alle Ressourcen mit dem restlichen Prozess teilt. Zu beachten ist: Dieselbe Codezeile kann simultan von mehreren Threads ausgeführt werden. J. Henke (HAW) Threads 10. Juni / 18
6 Definition einen Threads Definition Ein Thread ist ein Programmteil, welcher parallel zum dem übrigen Programm ausgeführt wird, über einen eigenen Stack verfügt und außer diesem alle Ressourcen mit dem restlichen Prozess teilt. Zu beachten ist: Dieselbe Codezeile kann simultan von mehreren Threads ausgeführt werden. Variablen auf dem Heap sind im Allgemeinen nicht threadspezfisch. J. Henke (HAW) Threads 10. Juni / 18
7 Vorteil von Multithreaded Anwendungen Bessere Ausnutzung von Wartepausen, kein busy waiting J. Henke (HAW) Threads 10. Juni / 18
8 Vorteil von Multithreaded Anwendungen Bessere Ausnutzung von Wartepausen, kein busy waiting insbesondere bei I/O-Operationen wichtig J. Henke (HAW) Threads 10. Juni / 18
9 Vorteil von Multithreaded Anwendungen Bessere Ausnutzung von Wartepausen, kein busy waiting insbesondere bei I/O-Operationen wichtig Bessere Ausnutzung heutiger symmetrischer Multiprozessorsysteme (SMP) J. Henke (HAW) Threads 10. Juni / 18
10 Vorteil von Multithreaded Anwendungen Bessere Ausnutzung von Wartepausen, kein busy waiting insbesondere bei I/O-Operationen wichtig Bessere Ausnutzung heutiger symmetrischer Multiprozessorsysteme (SMP) Entkoppelung verschiedener Programmteile möglich, z.b.: J. Henke (HAW) Threads 10. Juni / 18
11 Vorteil von Multithreaded Anwendungen Bessere Ausnutzung von Wartepausen, kein busy waiting insbesondere bei I/O-Operationen wichtig Bessere Ausnutzung heutiger symmetrischer Multiprozessorsysteme (SMP) Entkoppelung verschiedener Programmteile möglich, z.b.: asynchrone Reaktion auf Events J. Henke (HAW) Threads 10. Juni / 18
12 Vorteil von Multithreaded Anwendungen Bessere Ausnutzung von Wartepausen, kein busy waiting insbesondere bei I/O-Operationen wichtig Bessere Ausnutzung heutiger symmetrischer Multiprozessorsysteme (SMP) Entkoppelung verschiedener Programmteile möglich, z.b.: asynchrone Reaktion auf Events Erzeuger-Verbraucher Muster J. Henke (HAW) Threads 10. Juni / 18
13 Gliederung 1 Grundlagen Wiederholung: Threadgrundlagen Einfache Threads in Java 2 Fortgeschrittene Konzepte Executor Synchronisation J. Henke (HAW) Threads 10. Juni / 18
14 Erzeugung eines neuen Threads Welche Ausgabe ergibt das folgende Codesegment? 1 Runnable torun = new Runnable ( ) { 2 O v e r r i d e 4 p u b l i c v o i d r u n ( ) 5 { 6 f o r ( i n t i = 0 ; i < 1 0 ; i ++) 7 { 8 System. out. p r i n t l n ( i ) ; 9 } 10 } 11 } ; Thread thread1 = new Thread ( torun ) ; 14 t h r e a d 1. s t a r t ( ) ; 15 Thread thread2 = new Thread ( torun ) ; 16 t h r e a d 2. s t a r t ( ) ; J. Henke (HAW) Threads 10. Juni / 18
15 Erzeugung eines neuen Threads Welche Ausgabe ergibt das folgende Codesegment? 1 Runnable torun = new Runnable ( ) { 2 O v e r r i d e 4 p u b l i c v o i d r u n ( ) 5 { 6 f o r ( i n t i = 0 ; i < 1 0 ; i ++) 7 { 8 System. out. p r i n t l n ( i ) ; 9 } 10 } 11 } ; Thread thread1 = new Thread ( torun ) ; 14 t h r e a d 1. s t a r t ( ) ; 15 Thread thread2 = new Thread ( torun ) ; 16 t h r e a d 2. s t a r t ( ) ; J. Henke (HAW) Threads 10. Juni / 18
16 Thread implementiert Runnable Die Klasse Thread implementiert selbst das Interface Runnable J. Henke (HAW) Threads 10. Juni / 18
17 Thread implementiert Runnable Die Klasse Thread implementiert selbst das Interface Runnable Alle Konstruktoren sind doppelt vorhanden, jeweils mit und ohne Runnable als Argument J. Henke (HAW) Threads 10. Juni / 18
18 Thread implementiert Runnable Die Klasse Thread implementiert selbst das Interface Runnable Alle Konstruktoren sind doppelt vorhanden, jeweils mit und ohne Runnable als Argument Thread erweitern und run() überschreiben J. Henke (HAW) Threads 10. Juni / 18
19 Grundlegende Steuerung Die Klasse java.lang.thread bietet eine Reihe von Methoden an, um das Verhalten des (aktuellen) Threads zu beinflussen: J. Henke (HAW) Threads 10. Juni / 18
20 Grundlegende Steuerung Die Klasse java.lang.thread bietet eine Reihe von Methoden an, um das Verhalten des (aktuellen) Threads zu beinflussen: Die statischen Methoden beinflussen den aktuellen Thread, welcher den Code aktuell ausführt, dazu zählen unter anderem: J. Henke (HAW) Threads 10. Juni / 18
21 Grundlegende Steuerung Die Klasse java.lang.thread bietet eine Reihe von Methoden an, um das Verhalten des (aktuellen) Threads zu beinflussen: Die statischen Methoden beinflussen den aktuellen Thread, welcher den Code aktuell ausführt, dazu zählen unter anderem: Thread.currentThread() liefert die Referenz auf der aktuellen Thread. J. Henke (HAW) Threads 10. Juni / 18
22 Grundlegende Steuerung Die Klasse java.lang.thread bietet eine Reihe von Methoden an, um das Verhalten des (aktuellen) Threads zu beinflussen: Die statischen Methoden beinflussen den aktuellen Thread, welcher den Code aktuell ausführt, dazu zählen unter anderem: Thread.currentThread() liefert die Referenz auf der aktuellen Thread. Thread.yield() gibt den Rest der aktuell zugeteilten Rechenzeit ab. (Verhalten ist nach Spezifikation nicht garantiert) J. Henke (HAW) Threads 10. Juni / 18
23 Grundlegende Steuerung Die Klasse java.lang.thread bietet eine Reihe von Methoden an, um das Verhalten des (aktuellen) Threads zu beinflussen: Die statischen Methoden beinflussen den aktuellen Thread, welcher den Code aktuell ausführt, dazu zählen unter anderem: Thread.currentThread() liefert die Referenz auf der aktuellen Thread. Thread.yield() gibt den Rest der aktuell zugeteilten Rechenzeit ab. (Verhalten ist nach Spezifikation nicht garantiert) Thread.sleep(long)/Thread.sleep(long, int) legt den aktuellen Thread für die angegebene Dauer schlafen. J. Henke (HAW) Threads 10. Juni / 18
24 Grundlegende Steuerung Die Klasse java.lang.thread bietet eine Reihe von Methoden an, um das Verhalten des (aktuellen) Threads zu beinflussen: Die statischen Methoden beinflussen den aktuellen Thread, welcher den Code aktuell ausführt, dazu zählen unter anderem: Thread.currentThread() liefert die Referenz auf der aktuellen Thread. Thread.yield() gibt den Rest der aktuell zugeteilten Rechenzeit ab. (Verhalten ist nach Spezifikation nicht garantiert) Thread.sleep(long)/Thread.sleep(long, int) legt den aktuellen Thread für die angegebene Dauer schlafen. Wenn der Thread vor dem Ablauf dieser Zeit per interrupt() geweckt wurde, wird eine (checked) InterruptedException ausgelöst. J. Henke (HAW) Threads 10. Juni / 18
25 Grundlegende Steuerung - Teil 2 Die nicht-statischen Methoden beeinflussen den Thread, auf dessen Referenz sie aufgerufen werden, dazu zählen unter anderem: J. Henke (HAW) Threads 10. Juni / 18
26 Grundlegende Steuerung - Teil 2 Die nicht-statischen Methoden beeinflussen den Thread, auf dessen Referenz sie aufgerufen werden, dazu zählen unter anderem: interrupt() weckt aktuell schlafende Threads. J. Henke (HAW) Threads 10. Juni / 18
27 Grundlegende Steuerung - Teil 2 Die nicht-statischen Methoden beeinflussen den Thread, auf dessen Referenz sie aufgerufen werden, dazu zählen unter anderem: interrupt() weckt aktuell schlafende Threads. join() der aktuell laufende Thread wartet, bis der referenzierte Thread abgearbeitet ist. J. Henke (HAW) Threads 10. Juni / 18
28 Grundlegende Steuerung - Teil 2 Die nicht-statischen Methoden beeinflussen den Thread, auf dessen Referenz sie aufgerufen werden, dazu zählen unter anderem: interrupt() weckt aktuell schlafende Threads. join() der aktuell laufende Thread wartet, bis der referenzierte Thread abgearbeitet ist. Getter und Setter für verschiedene Eigenschaften. J. Henke (HAW) Threads 10. Juni / 18
29 Grundlegende Steuerung - Teil 2 Die nicht-statischen Methoden beeinflussen den Thread, auf dessen Referenz sie aufgerufen werden, dazu zählen unter anderem: interrupt() weckt aktuell schlafende Threads. join() der aktuell laufende Thread wartet, bis der referenzierte Thread abgearbeitet ist. Getter und Setter für verschiedene Eigenschaften. stop() (deprecated!) bricht diesen Thread abrupt ab, kann daher zu inkonsitenen Verhalten führen und ist daher zu vermeiden. J. Henke (HAW) Threads 10. Juni / 18
30 Beenden der JVM bei Benutzung von Threads Die JVM (und damit das Programm) beendet sich nur wenn alle 1 Threads beendet sind! 1 (nicht-dämon) J. Henke (HAW) Threads 10. Juni / 18
31 Beenden der JVM bei Benutzung von Threads Die JVM (und damit das Programm) beendet sich nur wenn alle 1 Threads beendet sind! Hat man einen oder mehrere Threads, welche in einer Endlosschleife auf neue Arbeit warten, so muss man zu Beenden des Programms eine der folgenden Möglichkeiten implementieren: 1 (nicht-dämon) J. Henke (HAW) Threads 10. Juni / 18
32 Beenden der JVM bei Benutzung von Threads Die JVM (und damit das Programm) beendet sich nur wenn alle 1 Threads beendet sind! Hat man einen oder mehrere Threads, welche in einer Endlosschleife auf neue Arbeit warten, so muss man zu Beenden des Programms eine der folgenden Möglichkeiten implementieren: Jeden Thread einzeln beenden (z.b. über interrupt()) 1 (nicht-dämon) J. Henke (HAW) Threads 10. Juni / 18
33 Beenden der JVM bei Benutzung von Threads Die JVM (und damit das Programm) beendet sich nur wenn alle 1 Threads beendet sind! Hat man einen oder mehrere Threads, welche in einer Endlosschleife auf neue Arbeit warten, so muss man zu Beenden des Programms eine der folgenden Möglichkeiten implementieren: Jeden Thread einzeln beenden (z.b. über interrupt()) Über System.exit(int) die JVM hart beenden. 1 (nicht-dämon) J. Henke (HAW) Threads 10. Juni / 18
34 Beenden der JVM bei Benutzung von Threads Die JVM (und damit das Programm) beendet sich nur wenn alle 1 Threads beendet sind! Hat man einen oder mehrere Threads, welche in einer Endlosschleife auf neue Arbeit warten, so muss man zu Beenden des Programms eine der folgenden Möglichkeiten implementieren: Jeden Thread einzeln beenden (z.b. über interrupt()) Über System.exit(int) die JVM hart beenden. Diese Threads vor dem starten als Dämonen kennzeichnen (setdemon(true)), ein Dämonthread hindert die JVM nicht daran sich selbst zu beenden. 1 (nicht-dämon) J. Henke (HAW) Threads 10. Juni / 18
35 Gliederung 1 Grundlagen Wiederholung: Threadgrundlagen Einfache Threads in Java 2 Fortgeschrittene Konzepte Executor Synchronisation J. Henke (HAW) Threads 10. Juni / 18
36 Der Executor Threads lassen sich nur einmal und nur mit einem einzigen Runnable starten. Auch lässt sich der Startzeitpunkt nicht wählen. J. Henke (HAW) Threads 10. Juni / 18
37 Der Executor Threads lassen sich nur einmal und nur mit einem einzigen Runnable starten. Auch lässt sich der Startzeitpunkt nicht wählen. Seit Java 1.5 gibt es eine Lösung, welche dies Einschränkungen beseitigt: Das Interface java.util.concurrent.executer bzw. java.util.concurrent.executerservice. J. Henke (HAW) Threads 10. Juni / 18
38 Der Executor Threads lassen sich nur einmal und nur mit einem einzigen Runnable starten. Auch lässt sich der Startzeitpunkt nicht wählen. Seit Java 1.5 gibt es eine Lösung, welche dies Einschränkungen beseitigt: Das Interface java.util.concurrent.executer bzw. java.util.concurrent.executerservice. Mit execute(runnable) kann in implementierenden Klassen ein Runnable zur Bearbeitung eingereiht werden. J. Henke (HAW) Threads 10. Juni / 18
39 Der Executor Threads lassen sich nur einmal und nur mit einem einzigen Runnable starten. Auch lässt sich der Startzeitpunkt nicht wählen. Seit Java 1.5 gibt es eine Lösung, welche dies Einschränkungen beseitigt: Das Interface java.util.concurrent.executer bzw. java.util.concurrent.executerservice. Mit execute(runnable) kann in implementierenden Klassen ein Runnable zur Bearbeitung eingereiht werden. Details hängen von der konkreten Implementierung ab. J. Henke (HAW) Threads 10. Juni / 18
40 Der Executor Threads lassen sich nur einmal und nur mit einem einzigen Runnable starten. Auch lässt sich der Startzeitpunkt nicht wählen. Seit Java 1.5 gibt es eine Lösung, welche dies Einschränkungen beseitigt: Das Interface java.util.concurrent.executer bzw. java.util.concurrent.executerservice. Mit execute(runnable) kann in implementierenden Klassen ein Runnable zur Bearbeitung eingereiht werden. Details hängen von der konkreten Implementierung ab. java.util.concurrent.executors bietet Fabrikmethoden für verschiedene Implementierungen J. Henke (HAW) Threads 10. Juni / 18
41 Gliederung 1 Grundlagen Wiederholung: Threadgrundlagen Einfache Threads in Java 2 Fortgeschrittene Konzepte Executor Synchronisation J. Henke (HAW) Threads 10. Juni / 18
42 Warum synchronisieren Vielfach müssen Threads Daten mit dem übrigen Programm austauschen. Das Laufzeitverhalten von Threads ist aber nicht berechenbar, d.h. nach jeder verarbeiteten Maschienoperation kann ein Thread unterbrochen werden. J. Henke (HAW) Threads 10. Juni / 18
43 Warum synchronisieren Vielfach müssen Threads Daten mit dem übrigen Programm austauschen. Das Laufzeitverhalten von Threads ist aber nicht berechenbar, d.h. nach jeder verarbeiteten Maschienoperation kann ein Thread unterbrochen werden. Da Schreibeoperationen in der Regel aus mehrern Maschienoperationen bestehen, müssen diese besonders geschützt werden, um inkonsistente (d.h. nur teilweise geschriebene) Daten zu vermeiden. J. Henke (HAW) Threads 10. Juni / 18
44 Das Schlüsselwort synchronized Eine einfache Methode Synchronisation in Java zu realisieren, ist das Schlüsselwort synchronized in der Definition einer Methode. J. Henke (HAW) Threads 10. Juni / 18
45 Das Schlüsselwort synchronized Eine einfache Methode Synchronisation in Java zu realisieren, ist das Schlüsselwort synchronized in der Definition einer Methode. Jedoch ist Vorsicht geboten, dies kann bei langen Methoden den Vorteil der Nebenläufigkeit zunichte machen. In dem Fall Nutzung anderer Möglichkeiten -> Literatur J. Henke (HAW) Threads 10. Juni / 18
46 Das Schlüsselwort synchronized Eine einfache Methode Synchronisation in Java zu realisieren, ist das Schlüsselwort synchronized in der Definition einer Methode. Jedoch ist Vorsicht geboten, dies kann bei langen Methoden den Vorteil der Nebenläufigkeit zunichte machen. In dem Fall Nutzung anderer Möglichkeiten -> Literatur synchronized sorgt dafür, dass zu jeder Zeit maximal ein Thread mit der Abarbeit eines Codesegments beschäftigt ist. J. Henke (HAW) Threads 10. Juni / 18
47 Das Schlüsselwort synchronized Eine einfache Methode Synchronisation in Java zu realisieren, ist das Schlüsselwort synchronized in der Definition einer Methode. Jedoch ist Vorsicht geboten, dies kann bei langen Methoden den Vorteil der Nebenläufigkeit zunichte machen. Beispiel In dem Fall Nutzung anderer Möglichkeiten -> Literatur synchronized sorgt dafür, dass zu jeder Zeit maximal ein Thread mit der Abarbeit eines Codesegments beschäftigt ist. p u b l i c s y n c h r o n i z e d v o i d somemethod ( ) { // h i e r h ä l t s i c h maximal e i n Thread g l e i c h z e i t i g a u f } J. Henke (HAW) Threads 10. Juni / 18
48 Collections API und Threads Bis auf Vector sind alle Collections nicht threadsicher! J. Henke (HAW) Threads 10. Juni / 18
49 Collections API und Threads Bis auf Vector sind alle Collections nicht threadsicher! Die Utilityklasse Collections biete jedoch Methoden, um auf eine bestehende Collection eine Synchronisierte Sicht zu erhalten. Anschließend müssen alle Zugriffe über diese Sicht auf die Collection abgewickelt werden. J. Henke (HAW) Threads 10. Juni / 18
50 Collections API und Threads Beispiel Bis auf Vector sind alle Collections nicht threadsicher! Die Utilityklasse Collections biete jedoch Methoden, um auf eine bestehende Collection eine Synchronisierte Sicht zu erhalten. Anschließend müssen alle Zugriffe über diese Sicht auf die Collection abgewickelt werden. L i s t <S t r i n g > m y L i s t = C o l l e c t i o n s. s y n c h r o n i z e d L i s t ( new L i n k e d L i s t <S t r i n g >() ) ; J. Henke (HAW) Threads 10. Juni / 18
51 Ende Vielen Dank für die Aufmerksamkeit. Sind noch Fragen offen? J. Henke (HAW) Threads 10. Juni / 18
5. Threads, Serverprozesse und Benachrichtigungen
5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische
Prozesse. Prozesse sind Programme. Prozesse können aus Unterprozessen bestehen. Prozesshierarchie Unterprozesse Threads
Threads Prozesse, Parallelität, Nebenläufigkeit, Threads, Erzeugung, Ausführung, Kommunikation, Interferenz, Kritischer Bereich, Deadlock, Synchronisation. Prozesse Prozesse sind Programme mehrere Prozesse
Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java
Thread-Konzept in objektorientierten Programmiersprachen 1 Threads ein Thread ist ein eigenständiges Programmfragment, das parallel zu anderen Teilen eines Programmes ablaufen kann alle Threads eines Programmes
2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
Beispiel für überladene Methode
Beispiel für überladene Methode class Gras extends Futter {... abstract class Tier { public abstract void friss (Futter x); class Rind extends Tier { public void friss (Gras x) {... public void friss (Futter
Parallele Prozesse. Prozeß wartet
Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:
Lehr- und Forschungsgebiet Informatik 2. Proseminar-Arbeit. über das Thema Multithreading und Synchronisation in Java. Jens Bürger
Kapitel 1 Einleitung Lehr- und Forschungsgebiet Informatik 2 Proseminar-Arbeit über das Thema Multithreading und Synchronisation in Java Autoren: Betreuerin: Isabel Klöter Jens Bürger Jera Hensel Abgabedatum:
Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )
Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige
Übung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
Ausgewählte Implementierungsprobleme
Ausgewählte Implementierungsprobleme Rebecca Tiarks 18. Dezember 2008 1 / 30 Inhaltsverzeichnis 1 2 3 Persistenzproblem & CSV Binärformat 2 / 30 Themenübersicht 1 18. Dez: + 2 8. Jan. Swing 3 15. Jan TCP,
Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012
Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)
Threads In dieser Übung beschäftigen wir uns mit der Realisierung von Threads in Java.
Threads In dieser Übung beschäftigen wir uns mit der Realisierung von Threads in Java. Aufgabe 1: Erzeugen und Starten von Threads a) Sei BankKunde eine von einer Klasse Kunde abgeleitete Klasse. Erweitern
6. Tutorium zu Softwaretechnik I
6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
Betriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo [email protected]
Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo [email protected] Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Eingabe und Ausgabe Dateisysteme Zusammenfassung
Synchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:
Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6
12. Threads in Java. Sequentielle Abarbeitung (2) Beispiel: Thread (1) Sequentielle Abarbeitung (1)
12. Threads in Java Einführendes Beispiel 12. Threads in Java 12. Threads in Java Einführendes Beispiel Sequentielle Abarbeitung (2) Ein Thread ist eine Folge von Anweisungen, die unabhängig von anderen
Einführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()
TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4
Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...
Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen
Thread-Synchronisation in in Java Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Die Klasse Thread Die Die Klasse Thread gehört zur zur Standardbibliothek von von
Javakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus
Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel ([email protected]) Möglichkeiten, Threads zu definieren Bildung einer
Model-View-Controller
Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung
Nebenläufige Programmierung I
Nebenläufige Programmierung I Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS06 2 Ziele Grundlegende Begriffe der nebenläufigen Programmierung verstehen lernen Nebenläufige Programme
Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)
Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum
Präsentation Interfaces
Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.
Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
Monitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
Zusammenfassung Modul 223
Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1
Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
Domänenmodell: Fadenkommunikation und -synchronisation
Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4
Parallele Programmierung in Java
PPJ-1 Parallele Programmierung in Java Prof. Dr. Uwe Kastens Sommersemester 2000 Vorlesung Parallele Programmierung in Java SS 2000 / Folie 01 PPJ-2 Ziele und Durchführung Die Studierenden sollen grundlegende
Multi-Threading. Ralf Abramowitsch Vector Informatik GmbH [email protected]
Multi-Threading Ralf Abramowitsch Vector Informatik GmbH [email protected] Einführung in Threads Threads synchronisieren ThreadPools Thread = unabhängiger Ausführungspfad, der gleichzeitig
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Einführung in AOP. Rico Schiekel - 012816 [email protected]. Agenda. Kernproblem der Objekt Orientierung
Einführung in AOP Informatikseminar Rico Schiekel - 012816 [email protected] Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung
Informatik II Übung 6 Gruppe 7
Informatik II Übung 6 Gruppe 7 Leyna Sadamori [email protected] DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,
Java Threads. Mutex, Race Condition, Deadlock, Starvation und Co.. Prof. Dr. Nikolaus Wulff
Java Threads Mutex, Race Condition, Deadlock, Starvation und Co.. Prof. Dr. Nikolaus Wulff Java Threads Threads sind leichtgewichtige Prozesse. Sie benötigen keine Betriebsystemressourcen wie ein echter
Grundkonzepte java.util.list
Grundkonzepte java.util.list Eine List ist eine Spezialisierung einer allgemeinen Ansammlung (Collection): Lineare Ordnung ist definiert Zugriff über Rang oder Position Volle Kontrolle wo eingefügt bzw.
LeJOS: Mindstorms in Java programmieren
LeJOS: Mindstorms in Java programmieren Alexander Koller Softwareprojekt "Sprechende Roboter" 30. April 2004 Überblick Warum Java? Was ist LeJOS? Motoren steuern Auf Sensoreingaben reagieren Wie geht's
Operating System Kernels
Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking
Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe
Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class
Grundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
Inhaltsverzeichnis. Rainer Oechsle. Parallele und verteilte Anwendungen in Java ISBN: Weitere Informationen oder Bestellungen unter
sverzeichnis Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN: 978-3-446-42459-3 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42459-3 sowie im Buchhandel.
Java RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
Enumerations und innere Klassen
Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung
Javakurs für Anfänger
Javakurs für Anfänger Einheit 14: Generics Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Generische Klassen (Generics) Motivation Java Typ-Prüfung Warum also Generics? Generische
Kapitel 4. Monitore und wechselseitiger Ausschluss
Seite 1 Kapitel 4 Monitore und wechselseitiger Ausschluss Prof. Dr. Rolf Hennicker 28.05.2015 4.1 Interferenzen Seite 2 Parallel ablaufende Prozesse können sich gegenseitig (störend) beeinflussen. Beispiel
Java-Programmierung. Remote Method Invocation - RMI
Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig
Einstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
Informatik B - Objektorientierte Programmierung in Java. Vorlesung 21: Threads 2. Inhalt
Universität Osnabrück 1 wait und notify 3 - Objektorientierte Programmierung in Java Vorlesung 21: Threads 2 SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Neben dem Monitorkonzept stehen mit den Methoden
Parallele und verteilte Anwendungen in Java
Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN-10: 3-446-40714-6 ISBN-13: 978-3-446-40714-5 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40714-5
Techniken der Projektentwicklung
Themen Threading Netzwerk Techniken der Projektentwicklung Threading & Netzwerkprogrammierung Ingo Lütkebohle Termin 13 Ingo Lütkebohle Techniken der Projektentwicklung 1 Themen heute Themen Threading
Kapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
Kapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Einführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
Kapitel 5. Monitore und Synchronisationsbedingungen
Seite Kapitel 5 Monitore und Synchronisationsbedingungen Prof. Dr. Rolf Hennicker 5.6.24 5. Synchronisationsbedingungen Seite 2 Bisherige Verwendung von Monitoren: Verkapselung von Daten, Zugriffoperationen
White Paper. Embedded Treiberframework. Einführung
Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded
Effiziente Java Programmierung
Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen
Der Scheduler von Windows Konzepte und Strategien
Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen
Übung Betriebssysteme 11
Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme
Parallele und verteilte Anwendungen in Java
Parallele und verteilte Anwendungen in Java Bearbeitet von Rainer Oechsle 3., erweiterte Auflage 2011. Buch. 416 S. Hardcover ISBN 978 3 446 42459 3 Format (B x L): 20,3 x 24,5 cm Gewicht: 1068 g Weitere
Nebenläufigkeit. Motivation und Parallelität. Definitionen und Übersicht. Continuations und Koroutinen. Threads in Java.
Nebenläufigkeit Motivation und Parallelität Definitionen und Übersicht Continuations und Koroutinen Threads in Java Erste Beispiele Motivation für Nebenläufigkeit Nebenläufigkeit = mehrere Kontrollflüsse
Java Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund [email protected] http://ls1-www.cs.uni-dortmund.de
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Verteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53
Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................
Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit.
1 Seminar zum Programmierprojekt Arbeitsbereich Technische Informatik Ausgabe: 30. April 2008 Anleitung B3 Einführung in die Entwicklungsumgebungen Allgemeines In dieser Aufgabe lernen wir die Entwicklungsumgebungen
Sven Osterwald Concurrent Objects. Proseminar Parallele Programmierung in Java
Sven Osterwald 12.05.2010 Concurrent Objects Proseminar Parallele Programmierung in Java Überblick 1. Einführung 2. Beispiel FIFO-Queue mit und ohne Lock 3. Korrektheit bei sequentiellen Objekten 4. Korrektheit
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
Seminararbeit. Java Thread Synchronisation
Seminararbeit Java Thread Synchronisation Angelika Brückl (0055060) Java Thread Synchronisation 1 Inhaltsverzeichnis 1. Einleitung... 3 2. Allgemeines über Threading... 3 2.1. Was ist ein Thread?... 3
Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
Nebenläufigkeit in Java
Nebenläufigkeit in Java Maurice Schoenmakers [email protected] muenchen.de Inhaltsverzeichnis 1 Einleitung... 2 2 Prozesse und Threads in Java... 2 2.1 Die Klasse Thread... 3 2.2 Der aktuelle Thread...
Variablen manipulieren per JDI
Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt
ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH
ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung
Javakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
Vgl. Oestereich Kap 2.7 Seiten 134-147
Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte
9. Vorlesung Betriebssysteme
Dr. Christian Baun 9. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/39 9. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik [email protected] Dr. Christian
Einstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
Asynchrone Webservices mit Axis 1.x in Java
Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich
Komponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
RTEMS- Echtzeitbetriebssystem
RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-
Prof. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
2. Hintergrundverarbeitung in Android: Services und Notifications
2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services
Nebenläufige Anwendungen in Java (J2SE, Rich Client, J2EE)
CNAM Wintersemester 2014 / 2015 Nebenläufige Anwendungen in Java (J2SE, Rich Client, J2EE) Im Rahmen von: Betriebssysteme und nebenläufige Anwendungen Agenda Nebenläufigkeit in Java Anwendungen Basisfunktionen
Schedulingund Thread-Ausführer
Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind
