private static void testBombsProblem() { int count = 100; BombCenter center = new BombCenter(); Thread centerFireThread = new Thread(() => { Thread.Sleep(100); for (int i = 0; i < count; i++) { center.callBombs(); } }); centerFireThread.Start(); List<Bomb> bombs = new List<Bomb>(); for (int i = 0; i < count; i++) { Bomb bomb = new Bomb(center); bombs.Add(bomb); Thread thread = new Thread(() => { Thread.Sleep(100); bomb.Fire(); }); thread.Start(); } while (true) { Thread.Sleep(100); foreach (var bomb in bombs) { if (!bomb.IsFired) { continue; } } break; } }
public Bomb(BombCenter center) { mCenter = center; mCenter.AddBomb(this); IsFired = false; }