Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

An umbrella term for methods and algorithms to synchronize multithreaded environments or other forms of distributed system without using locks.

An umbrella term for methods and algorithms to synchronize multithreaded environments or other forms of distributed system without using locks.

The necessity for lock-free software architectures arises mainly from performance and scalability issues with using locks for synchronization: Because of the atomicity requirements, Locks involve slow system calls and if used improperly, can easily lead to race conditions and frequent wait conditions.

Examples of lock-free system architectures include Hardware-Transactional Memory (the software variant STM might use locks for synchronization) or the Communicating sequential processes first described by C. A. R. Hoare

history | excerpt history