Является ли обращение к переменной string для чтения из разных потоков потокобезопасным? - C#
Формулировка задачи:
Подскажите, обращение к переменной string для чтения из разных потоков является потокобезопасным? Или надо и для чтения локеры применять?
Решение задачи: «Является ли обращение к переменной string для чтения из разных потоков потокобезопасным?»
textual
Листинг программы
class Program
{
private static volatile int N = 0;
static void Main(string[] args)
{
var threads = new Thread[5];
for (int i = 0; i < threads.Length; i++)
{
threads[i] = new Thread(() => {
for (int j = 0; j < 1000; j++)
{
N++;
Thread.Sleep(0);
}
});
}
foreach (var thread in threads)
{
thread.Start();
}
foreach (var thread in threads)
{
thread.Join();
}
Console.WriteLine(N);
Console.ReadKey();
}
}