Der
Mutex entspricht auch viel mehr dem gewünschten Ergebnis, da er im Prinzip als Boolean gesehen werden kann. Ein Semaphore hingegen ist ein "Integer", dessen Wert erniedrigt und erhöht wird. Man kann bei Semaphoren den maximalen Wert festlegen, ab dem geblockt wird. Ein
Mutex entspricht somit einem Semaphore mit dem Maximalen Wert 1, nur mit weniger Verwaltungsaufwand.
Da das Programm sowieso nur 1x gestartet werden darf, kommt hier ein
Mutex eher in betracht.