CAS - очень примитивная технология свободного доступа, и я знаю, что она атомарна.Я слышал, что инструкция INC не является атомарной. Затем, как инструкция CAS может быть атомарной?
Кроме того, это гораздо более сложная операция, чем INC.
Он должен сравнить значение, и если значение не изменяется, CAS устанавливает новое значение, гарантируя, что другой поток не доступа к нему.
Затем, как CAS является атомарным, а INC - нет.
Я также узнал, что ЗАМОК INC является атомарной операцией, но с высокой стоимостью, чем INC.
Если CAS также использует некоторые подобную технику, как ЗАМОК INC внутри, то почему он называется замок бесплатно технику?
Является ли замок, используемый в CAS, отличается от обычного замка, который мы обычно знаем?
Если да, то сколько разница между стоимостью нормального замка и cas?
Зачем отмечать это как 'C'? – chux
Если вы говорите о x86 (что предлагает 'inc/lock inc'), то' cmpxchg' также не является атомарным. 'lock cmpxchg' является атомарным. – EOF