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): Allgemein:

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