Non-blocking algorithm

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. "Non-blocking" was used as a synonym for "lock-free" in the literature until the introduction of obstruction-freedom in 2003.

Comment
enIn 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. "Non-blocking" was used as a synonym for "lock-free" in the literature until the introduction of obstruction-freedom in 2003.
DifferentFrom
Non-blocking I
O
Has abstract
enIn 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. "Non-blocking" was used as a synonym for "lock-free" in the literature until the introduction of obstruction-freedom in 2003. 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).
Is primary topic of
Non-blocking algorithm
Label
enNon-blocking algorithm
Link from a Wikipage to an external page
preshing.com/20120612/an-introduction-to-lock-free-programming/
tutorials.jenkov.com/java-concurrency/non-blocking-algorithms.html
Link from a Wikipage to another Wikipage
Algorithm
C++11
C11 (C standard revision)
Category:Concurrency control
Category:Concurrency control algorithms
Category:Synchronization
Circular buffer
Clos network
Compare-and-swap
Computer science
Consistency model
Critical section
Data structure
Deadlock
Erez Petrank
FIFO (computing and electronics)
Hash table
Interrupt handler
Java ConcurrentMap
Linearizability
Livelock
Liveness
Lock (computer science)
Memory barrier
Multi-core processor
Mutual exclusion
Nonblocking minimal spanning switch
Parallel computing
Pre-emptive multitasking
Priority inversion
Producer–consumer problem
Queue (data structure)
Read-copy-update
Read-modify-write
Real-time computing
Resource (computer science)
Resource starvation
Scheduling (computing)
Semaphore (programming)
Set (computer science)
Software transactional memory
Stack (data structure)
store-conditional
Telecommunications network
Thread (computing)
SameAs
Lock-freeとWait-freeアルゴリズム
m.02pg63
Nicht-blockierende Synchronisation
Non-blocking algorithm
Q1985141
Synchronizacja nieblokująca
uJzQ
Неблокирующая синхронизация
Неблокуючий алгоритм
אלגוריתם חסר נעילות
الگوریتم‌های غیرمسدودکننده
خوارزمية غير مسدودة
Subject
Category:Concurrency control
Category:Concurrency control algorithms
Category:Synchronization
WasDerivedFrom
Non-blocking algorithm?oldid=1089089074&ns=0
WikiPageLength
18683
Wikipage page ID
554867
Wikipage revision ID
1089089074
WikiPageUsesTemplate
Template:Citation needed
Template:Distinguish
Template:Main
Template:Reflist
Template:Short description
Template:Var