* Operacje wait(S) isignai(S) są instrukcjami atomowymi.
* Semafor musi mieć nadaną nieujemną wartość początkową
* Operacja signai (S) musi wznowić jeden ze wstrzymanych procesów. Jednak definicja nie określa, który proces ma być wznowiony. Z tego powodu znane są różne implementacje semaforów, które nie zawsze muszą działać poprawnie.
Programowanie współbieżne z zastosowaniem semaforów. .. 4