Marmot писал(а):по моим расчетам, я уязвим только в течении бувально нескольких наносекунд между первым сравнением и последним CAS -ом...

Ну может все-таки локи нужны? Безумная идея: по локу (допустим, read-write) на каждый из элементов. И что-то вроде двухфазного коммита. (И, по сути, будет чем-то похоже на тот CASN с заменой на дескрипторы.)Marmot писал(а):Но все это верно, если все мои операции упорядочены. А оказывается, это как бы не совсем так, в общем случае...
Я вот посмотрела ради любопытства на xstm -- чудес не бывает: в Java-версии прямо много синхронизовано.