John Leidegren


Karma: 0.00
devnull Joseph Albahari has a series on threading/concurrency (http://www.albahari.com/threading/). It's a wonderfully detailed and laid out series that really goes in-depth. These lock-free/wait-free data structures they are anything but high-level and generally require that you understand a bit about the memory model that's being used.
devnull In this case, lock-free implies that we never block/suspend the execution of the thread/process doing the work. The basic premise is that lock acquisition is expensive. Let's assume you're doing work on a modern OS. That OS will use preemptive multithreading. In that situation a thread may enter a wait state. Effectively going into hibernation. This is not free but generally and probably not your average performance bottleneck. Lock-free/wait-free attempts to minimize this overhead.