Articles of atomic

¿Cómo puedo implementar una función atómica personalizada que involucre varias variables?

Me gustaría implementar esta función atómica en CUDA: __device__ float lowest; // global var __device__ int lowIdx; // global var float realNum; // thread reg var int index; // thread reg var if(realNum < lowest) { lowest= realNum; // the new lowest lowIdx= index; // update the 'low' index } No creo que pueda hacer […]

¿Los métodos de IEnumerable Linq son seguros para subprocesos?

Me pregunto si los métodos de extensión Linq son atómicos. ¿O necesito lock cualquier objeto IEnumerable utilizado en los hilos, antes de cualquier tipo de iteración? ¿Decir que la variable es volatile tiene algún efecto sobre esto? En resumen, ¿cuál de las siguientes opciones es la mejor operación segura para hilos? 1- Sin ningún locking: […]

UPSERT atómico en SQL Server 2005

¿Cuál es el patrón correcto para realizar un “UPSERT” atómico (ACTUALIZAR si existe, INSERTAR de otro modo) en SQL Server 2005? Veo una gran cantidad de código en SO (por ejemplo, consulte Comprobar si existe una fila, de lo contrario inserte ) con el siguiente patrón de dos partes: UPDATE … FROM … WHERE — […]

Instrucciones de SSE: ¿qué CPU puede hacer operaciones de memoria atómica de 16B?

Considere la posibilidad de tener acceso a una sola memoria (una lectura única o una sola escritura, no lectura + escritura) en una CPU x86. La instrucción está accediendo a 16 bytes (128 bits) de memoria y la ubicación de la memoria a la que se accede está alineada con 16 bytes. El documento “Libro […]