A mutex, or mutual exclusion semaphore is a synchronization
mechanism which concurrent activities can use to control access to a
common resource.
Mutual exclusion is the requirement that one activity, a
concurrent chain of
execution, never enters its critical section at the same time that
another concurrent activity enters its own critical section.
An activity acquires the mutex semaphore before entering its
critical section, and releases it after the critical section.