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:
“A free-enterprise economy depends only on markets, and according to the most advanced mathematical macroeconomic theory, markets depend only on moods: specifically, the mood of the men in the pinstripes, also known as the Boys on the Street. When the Boys are in a good mood, the market thrives; when they get scared or sullen, it is time for each one of us to look into the retail apple business.”
—Barbara Ehrenreich (b. 1941)
“We call it a Society; and go about professing openly the totalest separation, isolation. Our life is not a mutual helpfulness; but rather, cloaked under due laws-of-war, named fair competition and so forth, it is a mutual hostility.”
—Thomas Carlyle (17951881)
“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 (18031882)