Нужен пример, где отсутствие синхронизации потоков приводит к вычислению неверного результата - C#
Формулировка задачи:
Не могли бы вы мне помочь составить или найти пример кода, показывающего как отсутствие синхронизации потоков приводит к вычислению неверного результата? Нашел только на Java пример.
Решение задачи: «Нужен пример, где отсутствие синхронизации потоков приводит к вычислению неверного результата»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication2 {
class Program {
static bool done = false;
static object locker = new object();
static void Main(string[] args) {
new Thread(Go).Start();
Go();
Console.ReadLine();
}
static void Go() {
//lock (locker) {
if (!done) {
Console.WriteLine("Done!");
done = true;
// }
}
}
}
}