But that's fine! Lock-free permits starvation. Not every data structure can solve every problem. If you can't have starvation then lock-free isn't enough. In which case, this article isn't for you.
But that's fine! Lock-free permits starvation. Not every data structure can solve every problem. If you can't have starvation then lock-free isn't enough. In which case, this article isn't for you.
There aren't deadlocks, but there is still waiting and potential starvation, all of which can be informally called "locks" and so we need to be careful about qualifying "locking".
This isn't a criticism of lock-free methodology, but a consideration of the ways in which "lock-free" could be interpreted.
> the ways in which "lock-free" could be interpreted
This is only a problem if you use a definition of the 'lock' in 'lock-free' that isn't the same as everyone else's.
I guess I must be misunderstanding what you're trying to say if that isn't it. I'll stop criticising.