Semaphore class and instance methods The class methods for Semaphore include the following: forMutualExclusion Answers a new semaphore that has one signal. new Answers a new semaphore that has no signals. The instance methods include the following: critical: Evaluates the argument block and guarantees that there will be no context switch while the block is being evaluated. signal Adds a signal to the receiver. wait Suspends the active process until there is a signal available from the receiver.