4 ms·
> You may have lock-free code with locks That doesn't sound right. I suppose you could have locks in the trivial sense, where it never actually blocks, but I d
by MaxBarraclough 7y ago
> You may have lock-free code with locks
That doesn't sound right. I suppose you could have locks in the trivial sense, where it never actually blocks, but I don't imagine that's what you meant.
https://concurrencyfreaks.blogspot.com/2013/05/lock-free-and-wait-free-definition-and.html https://concurrencyfreaks.blogspot.com/2013/05/lock-free-and...
https://www.cs.yale.edu/homes/aspnes/pinewiki/ObstructionFreedom.html https://www.cs.yale.edu/homes/aspnes/pinewiki/ObstructionFre...
- frant-hartm 7y agoYour first link confirms you can have locks in a multithreaded lock free algorithm - "The Lock-Free property guarantees that at least some thread is doing progress on its work" - I always thought this property should have been called deadlock free.
- MaxBarraclough 7y agoThat's a good point, it does seem consistent with that definition. This other blog post [0] seems to use a stricter definition of lock-free which precludes any way to schedule threads which would cause progress to cease indefinitely. That seems to be what the ConcurrencyFreaks blog refers to as Wait-free. Any experts in lock-free programming able to clarify things? [0] https://preshing.com/20120612/an-introduction-to-lock-free-programming/ https://preshing.com/20120612/an-introduction-to-lock-free-p...