|
|
|
|
|
by klodolph
2062 days ago
|
|
I think you’ve just mixed up wait-free with lock-free. - Lock-free: at least one thread will make progress - Wait-free: all threads will make progress The difference between locks and lock-free is very noticeable if a thread holding a lock is suspended (which can happen on a modern system just by accessing memory that is paged out). On real-time systems it’s also possible to guarantee that high-priority tasks will make progress, regardless of how a low-priority task behaves. With locks, a low-priority task can easily prevent a high-priority task from running at all. |
|