Content deleted Content added
propose merge |
TimBentley (talk | contribs) m Corrected link to disambiguation page. (you can help!) |
||
Line 20:
Non-blocking algorithms use [[Atomicity|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|critical sections]] 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 (
== Wait-freedom ==
|