In computer science, mutual exclusion refers to the requirement of ensuring that no two concurrentprocesses are in their critical section at the same time; it is a basic requirement in concurrency control, to prevent race conditions. Here, a critical section refers to a period when the process accesses a shared resource, such as shared memory. The requirement of mutual exclusion was first identified and solved by Edsger W. Dijkstra in his seminal 1965 paper titled Solution of a problem in concurrent programming control, and is credited as the first topic in the study of concurrent algorithms.
In logic and probability theory, two propositions (or events) are mutually exclusive or disjoint if they cannot both be true (occur). A clear example is the set of outcomes of a single coin toss, which can result in either heads or tails, but not both.