Не будет ли конфликта двух потоков при доступе к переменной str? Нужно предпринимать дополнительные меры?
using System;
using System.Threading;
class Program
{
static string str = ""; // общая переменная
static void Main(string[] args)
{
// создаем новый поток 1
Thread myThread1 = new Thread(Writer1);
myThread1.Start(); // запускаем поток
// создаем новый поток 2
Thread myThread2 = new Thread(Writer2);
myThread2.Start(); // запускаем поток
for (int i = 0; i < 100; i++)
{
Console.WriteLine($"Thread0 str=: {str}");
Thread.Sleep(350);
}
Console.ReadLine();
}
public static void Writer1()
{
for (int i = 0; i < 200; i++)
{
str = "Written by thread 1";
Thread.Sleep(300);
}
}
public static void Writer2()
{
for (int i = 0; i < 200; i++)
{
str = "Written by thread 2";
Thread.Sleep(400);
}
}
}