W18-IfI-FFP FFP 13: The Santa Clause Problem with STM

Hinweise für Teilnehmer

  • Heute gibt es nur eine größere Aufgabe! Wer mag, kann wie immer auch übersprungene Aufgaben behandeln oder auch schon das nächste Übungsblatt 14 behandeln.
  • Für diese Übung reicht ein Rechner mit einem Kern.
  • Pakete "stm" und "random" müssen installiert sein.
  • Anstatt GHCI bitte GHC verwenden, da GHCI die nebenläufige putStrLn Anweisungen manchmal vermischt ausgibt, während mit GHC übersetzte Programme jeden putStrLn atomar abarbeiten.

A13-1 The Santa Claus problem

HINWEIS: Nein, wird sind nicht einfach zu faul, die Aufgabe der Jahreszeit entsprechend anzupassen, sondern bei dem "Santa Claus Problem" handelt es sich um eine klassische und etablierte Aufgabe zum Thema Nebenläufigkeit und Thread-Synchronisierung:

"A new excercise in concurrency" von John A. Trono, SIGCSE Bulletin, 26:8-10, 1994.

Dieser Artikel enthält auch eine Lösung in der Programmiersprache C, welche 10 Semaphoren verwendet. (Der Begriff "Semaphore" benötigen wir hier nicht; gemeint ist damit eine gemeinsame Variable als Zeichen/Signal um die Belegung einer gemeinsamen Ressourcen durch einen des Threads zu managen.) Wer nach dem "Santa Claus Problem Concurrency" im Internet sucht, findet zahlreiche Erklärungen und Lösungsmöglichkeiten für alle möglichen Programmiersprachen.

Verfügbar seit
Di 29 Jan 2019 12:00
Beginn Abgabezeitraum
Di 29 Jan 2019 12:00
Ende Abgabezeitraum
Mi 06 Feb 2019 08:00
Lösung ab
Mi 06 Feb 2019 08:00
Abgabe-Modus
Direkte Abgabe
Wertung
1.00 Punkte, Keine Wertung

Übungsblatt-Dateien