Mutual Exclusion - Advanced Mutual Exclusion

Advanced Mutual Exclusion

Synchronization primitives can be built like the examples below by using the solutions explained above:

  • Locks
  • Reentrant mutexes
  • Semaphores
  • Monitors
  • Message passing
  • Tuple space

Many forms of mutual exclusion have side-effects. For example, classic semaphores permit deadlocks, in which one process gets a semaphore, another process gets a second semaphore, and then both wait forever for the other semaphore to be released. Other common side-effects include starvation, in which a process never gets sufficient resources to run to completion, priority inversion in which a higher priority thread waits for a lower-priority thread, and "high latency" in which response to interrupts is not prompt.

Much research is aimed at eliminating the above effects, such as by guaranteeing non-blocking progress. No perfect scheme is known.

Read more about this topic:  Mutual Exclusion

Famous quotes containing the words advanced, mutual and/or exclusion:

    America was indebted to immigration for her settlement and prosperity. That part of America which had encouraged them most had advanced most rapidly in population, agriculture and the arts.
    James Madison (1751–1836)

    What spectacle can be more edifying or more seasonable, than that of Liberty and Learning, each leaning on the other for their mutual and surest support?
    James Madison (1751–1836)

    All men, in the abstract, are just and good; what hinders them, in the particular, is, the momentary predominance of the finite and individual over the general truth. The condition of our incarnation in a private self, seems to be, a perpetual tendency to prefer the private law, to obey the private impulse, to the exclusion of the law of the universal being.
    Ralph Waldo Emerson (1803–1882)