private void Dispose(Boolean disposing) { WriteLog(Name + "线程池释放资源"); if (Threads != null && Threads.Count > 0) { lock (SyncLock_Threads) { if (Threads != null && Threads.Count > 0) { for (int i = Threads.Count - 1; i >= 0; i--) { if (Threads[i] != null) { Threads[i].Dispose(); } Threads.RemoveAt(i); } } } } if (ManagerThread != null && ManagerThread.IsAlive) { ManagerThread.Abort(); } if (_Event != null) { _Event.Close(); } }
public override void Start() { this.ShopState = State.Working; ManagerThread.Start(); PrintConsole("Магазин открыт", ConsoleColor.Green); while (this.ShopState == State.Working) { Thread.Sleep(this.Random.Next(300, 500)); if (this.riseNewBuyer != null && this.ShopState == State.Working) { this.riseNewBuyer(this, new Buyer(++newBuyerId)); } } }