Остановка потоков - C#

Узнай цену своей работы

Формулировка задачи:

Имеется консольное приложение, в котором запускается несколько потоков. Сделать так, чтобы при нажатии enter все потоки остановились. Желательно использовать ManualResetEvent

Решение задачи: «Остановка потоков»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
 
namespace ConsoleApplication21
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread thr1 = new Thread(new ThreadStart(run));
            Thread thr2 = new Thread(new ThreadStart(run));
            Thread thr3 = new Thread(new ThreadStart(run));
 
            thr1.Start();
            thr2.Start();
            thr3.Start();
 
            Console.WriteLine("Потоки запущены!");
 
            ConsoleKeyInfo info; 
 
            do
            {
               info = Console.ReadKey(true);
            }
            while (info.Key!=ConsoleKey.Enter);
 
            thr1.Abort();
            thr2.Abort();
            thr3.Abort();
 
            Console.WriteLine("Потоки остановлены!");
            Console.Read();
        }
 
        static void run()
        {
        }
    }
 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы