test-and-set
изменяет содержимое ячейки памяти и возвращает ее старое значение в виде одной атомарной операции.
compare-and-swap
атомарно сравнивает содержимое ячейки памяти с заданным значением и, , только если они совпадают , изменяет содержимое этой ячейки памяти до заданного нового значения.
разница, выделенная жирным шрифтом.