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