c++ - comparar e intercambiar vs prueba y establecer
atomicity thread-synchronization (2)
test-and-set
modifica el contenido de una ubicación de memoria y devuelve su valor antiguo como una sola operación atómica.
compare-and-swap
atómica compara el contenido de una ubicación de memoria con un valor dado y, solo si son iguales , modifica el contenido de esa ubicación de memoria a un valor nuevo dado.
La diferencia marcada en negrita.
¿Podría alguien explicarme el funcionamiento y las diferencias de las operaciones anteriores en los subprocesos múltiples?
La prueba y el conjunto operan en un bit, la comparación y el intercambio operan en un campo de 32 bits.
El sistema z / TPF favorece el uso de las instrucciones de prueba y ajuste (TS) porque, con frecuencia, los indicadores de bloqueo son bits que se configuran para controlar el acceso a regiones críticas del código del sistema. La instrucción de prueba y conjunto (TS) requiere menos registros que la instrucción de comparación e intercambio (CS) y requiere menos tiempo de ejecución porque solo se necesita establecer un solo byte.
y encontré estos materiales en: http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpc3/tasinst.html
Puede aprender más sobre TSL con el libro llamado "Sistema operativo moderno, Capítulo 2" ...