public static void RepeatAdd2(PublicStateWithLock ps) { int i = 0; while (true) { ps.AddData(i); //Console.WriteLine("Add2"); i++; } }
public static void RepeatAdd1(PublicStateWithLock ps) { int i = 0; while (true) { //lock (ps) { ps.AddData(i); i++; } } }
public static void MakeCrash() { PublicStateWithLock ps = new PublicStateWithLock(); for (int i = 0; i < 8; i++) { Task.Run(() => { RepeatAdd1(ps); }); } for (int i = 0; i < 8; i++) { Task.Run(() => { RepeatAdd2(ps); }); } }