Non-blocking synchronization
|
Non-blocking synchronization is a technique that uses special algorithms to avoid threads competing for a shared resource having their execution indefinitely postponed by mutual exclusion.
Good reasons to use it are:
- Locks cannot be acquired in interrupt handlers.
- Priority inversion does not happen if no locks are acquired.
See also
- Deadlock
- Starvation
- Contention
- Synchronization
- Concurrency control
- Pre-emptive multitasking
- Collide-and-back-off protocol
- Lock-free and wait-free algorithms
External links
- Article "Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms (http://www.research.ibm.com/people/m/michael/podc-1996.pdf)" by Maged M. Michael and Michael L. Scott
- Citations from CiteSeer (http://citeseer.ist.psu.edu/cis?q=Fast+and+Practical+Non-Blocking+Concurrent+Synchronization)
- Discussion "Communication between Threads, without blocking (http://groups.google.com/groups?group=comp.programming.threads&threadm=c2s1qn%24mrj%247%40newsserv.zdv.uni-tuebingen.de)"