¿Podría alguien explicarme el funcionamiento y las diferencias de las operaciones anteriores en multi-threading?comparar y cambiar frente a prueba y establecer
Respuesta
test-and-set
modifica el contenido de una ubicación de memoria y devuelve su valor anterior como una única operación atómica.
compare-and-swap
compara atómicamente el contenido de una posición de memoria a un valor determinado y, sólo si son el mismo, modifica el contenido de esa posición de memoria a un nuevo valor dado.
La diferencia marcada en negrita.
La prueba y el set operan en un bit, comparar e intercambiar opera en un campo de 32 bits.
El sistema z/TPF favorece el uso de la instrucción de prueba y establecimiento (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 establecimiento (TS) requiere menos registros que las instrucciones de comparación y intercambio (CS) y requiere menos tiempo de ejecución porque solo se debe establecer un solo byte.
y, me encontré con estos materiales a partir de: http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpc3/tasinst.html
se puede aprender más acerca de TSL con el libro llamado "sistema operativo moderno, Capítulo 2" ...
- 1. opinión Django Código Memcache: Comparar y establecer
- 2. Comparar JSON y BSON
- 3. Cómo convertir y comparar NSNumber a BOOL?
- 4. Comparar Varchar y UniqueIdentifier
- 5. ¿Comparar GWT y Django?
- 6. Comparar log4j y Logger
- 7. RESTO frente a frente SOAP y simple página web, etc
- 8. Datos principales frente a Sqlite y rendimiento
- 9. FCKeditor frente a TinyMCE y XHTML Compliance
- 10. P99 y C99 frente a C11
- 11. Scrum y equipos multifuncionales frente a especialistas
- 12. Mayúsculas y NoClassDefFoundError frente a ClassNotFoundException
- 13. NUnit frente a MbUnit frente a MSTest frente a xUnit.net
- 14. Vector claro frente a cambiar el tamaño
- 15. cambiar a la base de datos a 'en línea' y establecer db a 'multi-usuario'
- 16. Bases y colas basadas en matriz frente a listas
- 17. Eficiencia de Python de y frente a múltiples ifs
- 18. Javascript Comparar fecha y hora
- 19. Comparar PropertyInfo de Type.GetProperties() y expresiones lambda
- 20. ReSharper y poner a prueba las categorías
- 21. Java: clases anidadas estáticas y reflexión: "$" frente a "."
- 22. Se burlan reutilizables frente a la burla en cada prueba
- 23. Establecer scrollLeft y scrollTop simultáneamente
- 24. Serializable y DataContract (¿no frente?)
- 25. Diferencia entre prueba -h y prueba -L
- 26. LINQ y establecer diferencia
- 27. Errores frente a la mejora frente a la nueva función
- 28. Elegir y prueba decompilador
- 29. ¿Comparar y contrastar los servicios web REST y SOAP?
- 30. perl comparar elementos de matrices y agrupamiento
Desde 'comparación y swap' hace más trabajo que 'test-and-set' ¿lleva más tiempo que' test-and-set'? – arunmoezhi
@arunmoezhi, depende de la implementación. –
¿Puedes por favor elaborar? La razón por la que estoy interesado en esto es si la prueba y configuración es más rápida que la que puedo modificar mi algoritmo para usarla en lugar de comparar y cambiar – arunmoezhi