3 ms·
Not to take anything away from the parent's thoughtful comment. That important property is, in fact, the definition of lock-free. Lock-free and wait-free (which
by vishnugupta 7y ago
Not to take anything away from the parent's thoughtful comment. That important property is, in fact, the definition of lock-free. Lock-free and wait-free (which has a stronger guarantee) algorithms are sub-classifications of non-blocking algorithms.
If I could recommend one book on this topic it'd be "The Art of Multiprocessor Programming". The authors have contributed to this subject through original research and make the topic quite approachable.
- deleted 7y ago[deleted]
- mehrdadn 7y ago> Not to take anything away from the parent's thoughtful comment. That important property is, in fact, the definition of lock-free. According to Wikipedia, it's the definition of non-blocking, not the definition of lock-free... which I guess is a correction for both the parent comment and yours. [1] As far as I recall ever seeing, people always talk about it in terms of guaranteed systemwide progress, which I don't find as enlightening as what happens when you pause a thread. [1] https://en.wikipedia.org/wiki/Non-blocking_algorithm https://en.wikipedia.org/wiki/Non-blocking_algorithm
- MaxBarraclough 7y agoA good article on this hierarchy (if you can forgive the low-contrast style): http://concurrencyfreaks.blogspot.com/2013/05/lock-free-and-wait-free-definition-and.html http://concurrencyfreaks.blogspot.com/2013/05/lock-free-and-...