Junior — Middle
Que entend-on par structures de données thread-safe dans le contexte de la programmation multithread?
sobes.tech IA
Réponse de l'IA
Les structures de données thread-safe sont celles qui fonctionnent correctement lors d’un accès simultané depuis plusieurs threads, sans provoquer de conditions de course ou de corruption de données. En C#, elles incluent, par exemple, les classes de l’espace de noms System.Collections.Concurrent, telles que ConcurrentDictionary ou ConcurrentQueue.
Exemple d’utilisation de ConcurrentQueue:
using System.Collections.Concurrent;
var queue = new ConcurrentQueue<int>();
// Ajout d’éléments depuis différents threads
queue.Enqueue(1);
queue.Enqueue(2);
// Extraction sécurisée d’un élément
if (queue.TryDequeue(out int result))
{
Console.WriteLine(result);
}
Ces structures assurent une synchronisation interne, permettant d’éviter les blocages ou de les minimiser.