Implementieren Sie die Peterson Lösung in
Java. Gegeben sei dazu das folgende Interface MutualExclusion
public interface MutualExclusion {
public void enter_region(int process);
public void leave_region(int process);
}
Programmieren Sie die Lösung als Klasse, die MutualExclusion
implementiert.
Hinweis: Sie müssen die Variablen auf die mehrere Threads zugreifen
können als volatile deklarieren.
Programmieren Sie einen Thread, der in seiner Methode run in den
kritischen Bereich eintritt und ihn wieder verlässt.
Programmieren Sie eine Klasse, die mehrere Threads anlegt und startet
Testen Sie ihr Programm, indem Sie innerhalb des kritischen Bereichs einen
Ausgabeaufruf einfügen, der eindeutig anzeigt, welcher Thread im Moment
abgearbeitet wird.
Kommentieren Sie einmal die Aufrufe von enter_region und
leave_region aus und beobachten Sie den Unterschied.