Universität Jena, Fakultät für Mathematik & Informatik, Institut für Informatik
Lehrstuhl für Programmiersprachen und Compiler

Vorlesung           Nebenläufige Programmierung

SS 2007                                            Threads und Tasks

Vorlesung :  Mi  14.15 - 15.45  CZ3 SR 125   J.Winkler    Beginn  2007.Apr.18
             Do  16.15 - 17.45  CZ3 SR 130   J.Winkler
Übung     :  Fr  12.15 - 13.45  CZ3 SR 227   J.Winkler    Beginn  2007.Apr.27  <============
 
Einschreibung im CAJ
Abschlussklausur:   Mittwoch 25. Juli 2007 10.00 CZ3 SR 315
 

                                   Schein-/Prüfungskriterien  
     |AUB| >= 10  AND  
     (Exists TM <= AUB: |TM| >= 10 AND (All i in TM: EPB(i) >= 0,25*BPB(i))) AND
     (Sum i in AUB: EPB(i)) >= 0,5*(Sum i in MUB: BPB(i)) AND
     EPK >= 0,5*BPK
                    
               mit: MUB = Menge der ausgegebenen Aufgabenblätter
                    AUB = Menge der abgegebenen Aufgabenblätter
                    EPB = erreichte Punktzahl eines Aufgabenblattes
                    BPB = erreichbare Punktzahl eines Aufgabenblattes
                    EPK = erreichte Punktzahl in der Klausur
                    BPK = erreichbare Punktzahl in der Klausur
     klass. Schein  : Aufgabenblätter + Klausur/Abschl.-Gespräch
     klass. Prüfung : Klausur / mündl. Prüfung
     Modulprüfung   : Aufgabenblätter + Klausur/mündl. Prüfung

Nebenläufige Programmierung befaßt sich mit Programmen, in welchen einzelne Teile zeitlich überlappend ("gleichzeitig") ausgeführt werden. Dabei können die Teilprogramme innerhalb eines Rechners oder auch auf verschiedenen Rechnern ablaufen.
Diese gleichzeitige Ausführung mehrerer Programmteile kann zu Situationen führen, in welchen gleichzeitig auf gemeinsame Daten zugegriffen werden soll. Solche Zugriffe müssen koordiniert werden, damit das Programm nur konsistente Zustände annimmt (s. z.B. Stromausfall in den USA in 2003).
Um dies alles zu bewerkstelligen sind in einer Programmiersprache spezielle Sprachelemente erforderlich.
In der Vorlesung werden die grundlegenden Phänomene der Nebenläufigkeit und die nebenläufige Programmierung in Java und in Ada behandelt.

Da das Verstehen nebenläufiger Abläufe ungewohnter und auch schwieriger ist als das sequentieller Abläufe, ist es sinnvoll, sich während des Studiums mit diesem Paradigma grundsätzlich vertraut zu machen. Insbesondere, da Nebenläufigkeit in vielen Anwendungen in zunehmendem Maße vorkommt, weil auch einfache PCs mittlerweile über mehrere Prozessoren (in Form von Prozessorkernen) verfügen..

Es kann ein Übungsschein erworben werden.



                        Inhaltsübersicht              (Modulkatalog)                  Literatur

Aufgabenblätter  s. CAJ



Institut  |  Lehrstuhl  |  Kommentare  | Jürgen Winkler  2007.Jun.18  | Carsten Freining   2004.Jul.02