Pergunta

Existe um equivalente para Interlocked.Exchange para booleano?

Como uma troca atômica de valores que retorna o valor anterior e não requer bloqueios?

Foi útil?

Solução

Não;use números inteiros em vez de booleanos.

Em princípio, tal coisa poderia ser escrita (cmpxchg, a instrução subjacente do processador, pode operar em operandos de 8, 16, 32 e 64 bits em x86, 8, 16, 32, 64 e operandos de 128 bits em x64), mas, na prática, a maioria das APIs se limita a operandos de ponteiro e ponteiro duplo (32 e 64 bits em x86, 64 e 128 bits em x64), porque eles são tudo o que você realmente precisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top