Content deleted Content added
added reference |
m Robot-assisted disambiguation (you can help!): Queue (disambiguation) |
||
Line 19:
Non-blocking algorithms use [[Linearizability|atomic]] [[read-modify-write]] primitives that the hardware must provide, the most notable of which is [[Compare-and-swap|compare and swap (CAS)]]. Ultimately, all synchronizing algorithms must use these; however, [[critical section]]s are almost always implemented using standard interfaces over these primitives. Until recently, all non-blocking algorithms had to be written "natively" with the underlying primitives to achieve acceptable performance. However, the emerging field of [[software transactional memory]] promises standard abstractions for writing efficient non-blocking code.
Much research has also been done in providing basic [[data structure]]s such as [[stack (data structure)|stacks]], [[
== Wait-freedom ==
|