Unblocks at least one thread blocked in a call to wait()
or timedWait()
with a given Mutex. The blocked thread must be sequenced before this call with respect to acquiring the same Mutex in order to be observable for unblocking. signal()
can be called with or without the relevant Mutex being acquired and have no “effect” if there’s no observable blocked threads.