.net - thread - Interbloqueado.¿Exchange, pero no para booleanos?
c#.net threading (1)
¿Hay un equivalente para Interlocked.Exchange
para boolean?
¿Tal como un intercambio atómico de valores que devuelve el valor anterior y no requiere bloqueos?
No; Usa enteros en lugar de booleanos.
En principio, tal cosa podría escribirse (cmpxchg, la instrucción subyacente del procesador, puede operar en operandos de 8, 16, 32 y 64 bits en x86, 8, 16, 32, 64 y 128 bits en x64), pero en la práctica, la mayoría de las API se adhieren al puntero y al doble puntero (operandos de 32 y 64 bits en x86, 64 y 128 bits en x64), porque son todo lo que realmente necesitas.