Günter Rudolph: Proseminar Multithreading-Techniken (MTT)
Termin: |
|
|
Mittwoch |
10:15 - 12:00 |
OH 14, R. 2.02 |
Beginn: |
Mittwoch, 05.04.2006 |
Vorbesprechung:
Dienstag, 31. Januar 2006, 16:15 Uhr, OH 14, R. 2.02
Beschreibung:
Unter Multitasking versteht man die Fähigkeit eines Betriebssystems
mehr als ein Programm zur selben Zeit ausführen zu können.
Unter Multithreading hingegen versteht man die Fähigkeit eines Betriebssystems
mehrere Teile eines Programms, die sogenannten Threads, simultan ausführen
zu können. Aktuelle Betriebssysteme vom Typ UNIX / LINUX sowie Microsoft besitzen diese
Fähigkeiten.
Ohne Multithreading wären Dialoganwendungen (wie wir sie heute kennen) nicht vernünftig
realisierbar: Wie kann ein Programm einerseits komplexe Berechnungen anstellen und gleichzeitig
auf die Eingaben des Benutzers achten, um nahezu instantan darauf zu reagieren? Ein typisches
und anschauliches Beispiel dafür sind 3D-Computer-Actionspiele. Aber auch Webserver im WWW
sowie die Kommunikation in Netzwerken sind mit Multithreading-Techniken realisiert.
Darüber hinaus kann ein Programm, deren Ablauf in Threads aufgeteilt worden ist, deutlich
schneller ablaufen, wenn mehrere Prozessoren zu Verfügung stehen und die Threads über diesen
verteilt werden können. Dieses Thema gewinnt zur Zeit wieder an Aktualität, da viele
Prozessorhersteller begonnen haben, mehrere Prozessorkerne auf einem Chip unterzubringen
(Dualcore- bzw. Multicore-Prozessoren).
In diesem Proseminar sollen die Grundkonzepte des Multithreading vorgestellt und besprochen
werden. Neben der formalen Darstellung werden sich die Teilnehmer/innen auch praktisch mit
der Programmierung kleiner Beispiele beschäftigen.
Anforderungen:
DAP I und DAP II (SOPRA empfehlenswert)
Ablauf:
Pro Teilnehmer/in ist ein Thema zu bearbeiten. Erwartet wird:
- Eine schriftliche Ausarbeitung (vor dem Vortrag).
- Ein Vortrag von ca. 45 min. (zuzüglich Diskussion).
- Teilnahme an allen Vorträgen des Proseminars.
Zeitplan:
31. Januar 2006: Vorbesprechung
bis zu 4 Wochen vor dem Vortragstermin: Gliederung / Skizze des Vortrags
bis zu 2 Wochen vor dem Vortragstermin: Vorversion des Vortrags (Folien)
SS 2006: Seminarvorträge und Abgabe der Ausarbeitungen
(Details während der Vorbesprechung)
Liste der Teilnehmer, Themen, Termine: download (aktualisiert: 10.05.2006)
Literatur zum Einstieg
-
O. Neuendorf: Windows Multithreading mit C++ und C#. mitp-Verlag: Bonn 2003.
ISBN 3-8266-0989-1
-
M. Walmsley: Multi-Threaded Programming in C++. Springer: London 2000.
ISBN 1-85233-146-1
-
H. Kredel und A. Yoshida: Thread- und Netzwerk-Programmierung mit Java. 2. Auflage. dpunkt.verlag Heidelberg 2002.
ISBN 3-89864-133-3
-
B. Nichols u.a.: Pthreads Programming. O'Reilly: Sebastopol (CA) 1996.
ISBN 1-56592-115-1
|