11.10.2013 Aufrufe

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Erzeuger-Verbraucher-System als Petri-Netz<br />

Erzeuger<br />

6.3. Programmieren von nebenläufigen Abläufen<br />

Erzeuger Puffer<br />

Verbraucher<br />

nichtvoll<br />

nichtleer<br />

repeat<br />

‘‘Erzeuge Marke’’;<br />

down (nichtvoll);<br />

down (gesperrt);<br />

‘‘Transportiere Marke in Puffer‘‘;;<br />

up (gesperrt);<br />

up (nichtleer);<br />

until false;<br />

Verbraucher<br />

repeat<br />

down (nichtleer);<br />

down (gesperrt);<br />

‘‘Entnehme Marke dem Puffer‘‘;;<br />

up (gesperrt);<br />

up (nichtvoll);<br />

‘‘Verbrauche Marke’’;<br />

until false;<br />

Philosophenproblem mit Semaphoren<br />

¯ Gabeln als Semaphoren initialisiert mit 1<br />

... Verklemmungsmöglichkeit falls alle Philosophen dem selben Programm<br />

folgen!<br />

¯ Eine Semaphore für den Spaghettitopf ....<br />

..wenig Nebenläufigkeit wenn lange gegessen wird.<br />

¯ Eine (globale) Semaphore für Überprüfung ob beide Nachbargabeln frei sind,<br />

schützt auch die Aufnahme der Gabeln aber nicht die gesamte Eßphase ...<br />

... mehr Nebenläufigkeit, keine Verklemmungen.<br />

n = 4<br />

127

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!