Mutual Exclusion also known as Mutex was first identified by Dijkstra. When a process is accessing shared variable is known as in critical section. When no two processes can be in Critical Section at the same time, this state is known as Mutual Exclusion.
It is a property of
concurrency control which is used to prevent race conditions.
Mutual Exclusion Devices:
-
Locks, Reader's Writer's
Problem, Recursive locks, Semaphores, Monitor, message passing etc.
Requirements:
- No more than one thread can be in its critical section at any one time.
- A thread which dies in its critical non-critical section will not affect the others' ability to continue.
- No deadlock: if a thread wants to enter its critical section then it will eventually be allowed to do so.
- No starvation.
- Threads are not forced into lock-step execution of their critical sections.
0 Comments