🔗 Non-blocking synchronization
🔗 Computing
🔗 Computing/Computer science
In computer science, an algorithm is called non-blocking if failure or suspension of any thread cannot cause failure or suspension of another thread; for some operations, these algorithms provide a useful alternative to traditional blocking implementations. A non-blocking algorithm is lock-free if there is guaranteed system-wide progress, and wait-free if there is also guaranteed per-thread progress.
The word "non-blocking" was traditionally used to describe telecommunications networks that could route a connection through a set of relays "without having to re-arrange existing calls", see Clos network. Also, if the telephone exchange "is not defective, it can always make the connection", see nonblocking minimal spanning switch.
Discussed on
- "Non-blocking synchronization" | 2010-02-03 | 21 Upvotes 8 Comments