Подтвердить что ты не робот

Сравнивать и свопировать vs test и устанавливать

Может ли кто-нибудь объяснить мне работу и различия вышеперечисленных операций в многопоточности?

4b9b3361

Ответ 1

test-and-set изменяет содержимое ячейки памяти и возвращает ее старое значение как одну атомную операцию.

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

Разница выделена жирным шрифтом.

Ответ 2

Тест и набор работают на бит, сравнение и своп работает в 32-битном поле.

Система z/TPF выступает за использование команды test и set (TS), потому что часто индикаторы блокировки являются битами, которые настроены для управления доступом к критическим областям системного кода. Команда test и set (TS) требует меньше регистров, чем команда сравнения и свопинга (CS), и требует меньше времени выполнения, потому что нужно установить только один байт.

и я нашел эти материалы: http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpc3/tasinst.html

вы можете узнать больше о TSL с книгой под названием "Современная операционная система, глава 2"...