Question

Existe-t-il un équivalent pour Interlocked.Exchange pour le booléen ?

Comme un échange atomique de valeurs qui renvoie la valeur précédente et ne nécessite pas de verrous ?

Était-ce utile?

La solution

Non;utilisez des entiers au lieu de booléens.

En principe, une telle chose pourrait être écrite (cmpxchg, l'instruction du processeur sous-jacente, peut fonctionner sur des opérandes de 8, 16, 32 et 64 bits sur x86, et des opérandes de 8, 16, 32, 64 et 128 bits sur x64), mais en pratique, la plupart des API s'en tiennent aux opérandes de pointeur et de double pointeur (32 et 64 bits sur x86, 64 et 128 bits sur x64), car ils sont tout ce dont vous avez vraiment besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top