Junior — Middle
What is meant by thread-safe data structures in the context of multithreading?
sobes.tech AI
Answer from AI
Thread-safe data structures are structures that work correctly when accessed concurrently from multiple threads without causing race conditions or data corruption. In C#, examples include classes from the System.Collections.Concurrent namespace, such as ConcurrentDictionary or ConcurrentQueue.
Example of using ConcurrentQueue:
using System.Collections.Concurrent;
var queue = new ConcurrentQueue<int>();
// Adding elements from different threads
queue.Enqueue(1);
queue.Enqueue(2);
// Safe retrieval of an element
if (queue.TryDequeue(out int result))
{
Console.WriteLine(result);
}
These structures provide internal synchronization, allowing to avoid locks or minimize their use.