private static void Main(string[] args) { Console.WriteLine("Enter any number or 'exit' to stop thread or 'exitp' to exit program"); ThreadQueue.SetUpAndRun(); while (true) { var data = Console.ReadLine() ?? "0"; if (data.ToLower() == "exit") { ThreadQueue.CancellationTokenSource.Cancel(); } else if (data.ToLower() == "exitp") { return; } else { var count = Int32.Parse(data); for (var i = 0; i < count; i++) { ThreadQueue.Queue.Enqueue(i); } ThreadQueue.ThreadNotification.Set(); } } }