Als Lösung geben wir nun ein Stück Pseudo-Assembler-Code an:
Auch die Lösung mit dem TSL-Befehl
hat den Nachteil, dass sie aktives Warten benutzt. Das heißt es wird zum
einen Rechenzeit verschwendet. Zum anderen birgt das aktive Warten aber auch noch weitere
Gefahren in sich. Wenn zum Beispiel der Scheduler einem Prozess sehr viel
Rechenzeit zuteilt, der gerade aktiv wartet, kann das das Computersystem extrem
bremsen und ggf. sogar blockieren, wenn aus irgendeinem Grund der Prozess, der
sich in seinem kritischen Bereich befindet, diesen nicht mehr verlässt.