Junior — Middle
Peut-on expliquer le concept d'interlocked et son application en programmation multithread ?
sobes.tech IA
Réponse de l'IA
Interlocked est un ensemble d'opérations atomiques en C# qui assurent la modification sécurisée de données partagées dans un environnement multithread sans utiliser de verrouillages lourds.
Les opérations principales d'Interlocked incluent :
- Incrément/Décrément — augmentation ou diminution atomique de la valeur.
- CompareExchange — comparaison et remplacement de la valeur si elle est égale à celle attendue.
- Exchange — remplacement de la valeur par une nouvelle.
L'utilisation d'Interlocked permet d'éviter les conditions de course lors de la mise à jour de variables, comme des compteurs ou des drapeaux, en garantissant la précision et la performance.
Exemple d'utilisation :
int counter = 0;
// Incrément atomique du compteur
Interlocked.Increment(ref counter);
// Comparaison et échange atomique
int original = Interlocked.CompareExchange(ref counter, 10, 5);
Ainsi, Interlocked est un outil de bas niveau pour travailler en toute sécurité avec des données partagées en programmation multithread.