Skip to content

a programming exercise about guarding critical sections with semaphores

License

Notifications You must be signed in to change notification settings

osmhpi/producer_consumer

Repository files navigation

     ____                _ /\/|____
    |  _ \ _ __ ___   __| |/\// ___|___  _ __  ___
    | |_) | '__/ _ \ / _` |  | |   / _ \| '_ \/ __|
    |  __/| | | (_) | (_| |  | |__| (_) | | | \__ \
    |_|   |_|  \___/ \__,_|   \____\___/|_| |_|___/

            Programmrahmen "Producer / Consumer"

Aufgabenstellung:
-----------------

 Der gegebene Programmrahmen enthält eine Produzenten / Konsumenten Logik in
 zwei Threads (die bereits für Sie erstellt werden), mit einer geteilten Queue
 zur Kommunikation der produzierten bzw.
 konsumierten Elemente.

 Identifizieren Sie den/die Kritische(n) Abschnitt(e) im Programm, und schützen Sie den
 Programmablauf vor Verfälschung der geteilten Daten durch die Verwendung von
 Semaphoren.

Kompilieren des Programms:
--------------------------

 Unter Linux bzw. macOS können Sie das Programm durch die Eingabe des Befehls `make`
 im Terminal-Emulator ihrer Wahl kompilieren, während das Projektverzeichnis das aktuelle
 Arbeitsverzeichnis ist. Stellen Sie dazu sicher, dass ein entsprechender Compiler
 (beispielsweise `gcc` oder `clang`) installiert ist.

 Für Windows installieren Sie bitte Visual Studio oder - falls Sie nicht die ganze IDE installieren
 wollen - die Build-Tools für Visual Studio (https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019).
 Mithilfe des "x64 Native Tools Command Prompts" können Sie das Programm durch das Aufrufen von `nmake` kompilieren.

About

a programming exercise about guarding critical sections with semaphores

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published