Thread Programmierung in Java
Spezialvorlesung (Nr 42455) im Sommersemester 2001 Vorlesung: Mo 12-14,
GB V, HS 113, Start 23.4.01
Thema:
Java bietet neben den zahlreichen Vorteilen der objektorientierten Programmierung
auch die Möglichkeit mittels leichtgewichtiger Prozesse (Threads)
nebenläufige Programme zu erstellen. Dies ist in verschiedenen Anwendungen
vorteilhaft, z.B. in der Implementierung interaktiver Benutzeroberflächen
und reaktiver Systeme sind nebenläufige Prozesse der Problemstruktur
angemessen. Thread Programmierung kann ferner zur Verbesserung der Performance
(kürzere Antwortzeiten, höherer Durchsatz) insbesondere bei paralleler
Hardware, Multiprozessormaschinen, eingesetzt werden.
Bei der Erstellung nebenläufiger Programme sind jedoch einige Besonderheiten
zu berücksichtigen, um korrekte und robuste Software zu erzielen.
Als Beispiele seien hier Interferenz bei geteilten Variablen und Verklemmungen
genannt.
Ziel der Vorlesung ist es auf derartige Besonderheiten (Pitfalls) hinzuweisen
und über die Modellierung nebenläufiger Prozesse eine formal
fundierte Sichtweise zu vermitteln, die im Entwurf und in der Analyse von
nebenläufigen Programmen zur Erkennung und Vermeidung von Fehlern
in Programmen eingesetzt werden kann.
Die Vorlesung orientiert sich an dem Buch von Lea, dem Buch von Magee
und Kramer, das aus vergleichbaren Veranstaltungen am Imperial College
London hervorgegangen ist, und an dem Buch von Oaks und Wong.
Literatur:
Speziell (in der Bereichsbibliothek Informatik, im Semesterhandapparat):
-
Magee,J.; Kramer,J.: Concurrency: state models & Java programs. Chicester:
Wiley 1999. (BI 3432/Mage) weitere
Unterlagen zu Magee & Kramer
-
Oaks,S.; Wong,H.: Java Threads. O'Reilly 1999. (BI 3390/Oaks)
-
Lea,D.: Concurrent programming in Java - design principles and patterns.
Reading, Mass.: Addison-Wesley 1999. (BI 3390/Lea)
Allgemein:
-
Doberkat,E.; Dissmann,S.: Einführung in die objektorientierte Programmierung
mit Java. München: Oldenbourg, 1999. (UB L Sr 395)
-
Echtle,K.; Goedicke,M.: Lehrbuch der Programmierung mit Java. Heidelberg:
dpunkt Verlag 2000. (UB Sn 21450)
weitere Literatur in der Vorlesung
Unterlagen:
Folienkopien als Handouts begleitend zur Vorlesung
Vorlesungsfolien, jeweils pdf Format, gzipped:
Dateinamen 1fpp = 1 Folie pro Seite, 2fpp = 2 Folien pro Seite, 3fpp
= 3 Seiten je Folie + Leerzeilen für Notizen
Folien 1: 3fpp
Folien 2: 2fpp
3fpp 6fpp
Folien 3: 1fpp
3fpp
Folien 4: 1fpp
3fpp
Folien 5: 1fpp
3fpp
Folien 6: 1fpp
3fpp
Folien 7: 1fpp
3fpp
Folien 8: 1fpp
3fpp
Links: Informationen
zu Java