mutex
mutual exclusion semaphore