Junior — Middle
Wat wordt bedoeld met thread-safe datastructuren in de context van multithreading?
sobes.tech AI
Antwoord van AI
Thread-veilige datastructuren zijn die structuren die correct werken bij gelijktijdige toegang vanuit meerdere threads, zonder racecondities of datacorruptie. In C# behoren daartoe bijvoorbeeld de klassen uit de namespace System.Collections.Concurrent, zoals ConcurrentDictionary of ConcurrentQueue.
Voorbeeld van gebruik van ConcurrentQueue:
using System.Collections.Concurrent;
var queue = new ConcurrentQueue<int>();
// Elementen toevoegen vanuit verschillende threads
queue.Enqueue(1);
queue.Enqueue(2);
// Veilige verwijdering van een element
if (queue.TryDequeue(out int result))
{
Console.WriteLine(result);
}
Deze structuren bieden interne synchronisatie, waardoor blokkades voorkomen of geminimaliseerd worden.