public void Stop() { ContinueProcess = false; for (int i = 0; i < ThreadTask.Length; i++) { if (ThreadTask[i] != null && ThreadTask[i].IsAlive) { ThreadTask[i].Join(); } } // Close all client connections while (ConnectionPool.Count > 0) { ClientHandler client = ConnectionPool.Dequeue(); client.Close(); Console.WriteLine("Client connection is closed!"); } }