This is the follow-up post continuing the discussion of the development of Kcas. Part 1 discussed the development done on the library to improve performance and add a transaction mechanism that makes it easy to compose atomic operations without really adding more expressive power. In this part we'll discuss adding a fundamentally new feature to Kcas that makes it into a proper STM implementation. Get Busy Waiting If shared memory locations and transactions over them essentially replace tradit...