Lockfree вперёд!

Думаю, начать можно с этого, т.к. тут Андрей пишет так сказать "с нуля" и всё по полочкам — хорошо подойдёт для затравки : Lockfree Data Structures (Keeping threads moving while avoiding deadlock) by Andrei Alexandrescu

Насколько помню, это была первая статья, которую я прочитал про lockfree... вначале долго пытался понять, о чём вообще речь

Вот тоже статья Андрея и M. Michael (это очень авторитетный человек в мире lockfree): Lockfree Data Structures with Hazard Pointers

Тут сразу приготовьтесь — чтение будет не из лёгкого

Вот ещё презентация by Andrei Alexandrescu: Lockfree Programming

В частности там можно поглядеть зачем всё это надо:

Advantages of lockfree

— Fast (~ 4 times faster than best mutexes)

— Deadlock immunity

— Livelock immunity

— Thread-killing immunity

— Asynchronous signal immunity

— Reentrancy is automatic

— Priority inversion immunity

Disadvantages

— Priorities uncontrollable (Can increase contention gratuitously)

— Hard to program (GC is a big helper, Hard even with GC)

— Use mutexes for 98% of the code

— Use CAS for 2% of the code to increase performance by 98%

Bjarne Stroustrup тоже не отстаёт. Lockfree Dynamically Resizable Arrays. Свежая и достаточно интересная статья.

В comp.programming.threads много инфы — вот например

Lockfree -- where to start

Особое внимание уделяем постам Chris Thomasson и Joe Seigh, т.к. это люди реально разбирающиеся и делающие реальные вещи.

По каким именам можно ещё искать: Chris Thomasson, Joe Seigh, Maged M. Michael, Maurice Herlihy, Mark Moir, Tim Harris, Keir Fraser...

Вот ещё пара ссылок:

здесь — очень объёмная статья, точнее это докторская, поэтому там есть очень хорошее и подробное введение

здесь много статей и ссылок

здесь свежая статья с новыми структурами, достаточно занятная. если разобраться как это работает, то многое в этой жизни после неё покажется "орешками"...