Как реализовать создание и завершение потоков - C#
Формулировка задачи:
Здравствуйте ув.форумчане! Подскажите пожалуйста как реализовать старт и стоп потоков. В библиотеке есть метод старта и останова потоков но он не работает. Исключение: Поток выполняется или прерван; его нельзя запустить повторно.
Сам метод:
Хочу реализовать примерно вот так:
Подскажите пожалуйста как реализовать и возможно ли.
Заранее благодарен!
public static void act(string act, int count_threads) { Thread th = new Thread(main.run); if (act == "start") { for (int i = 0; i < count_threads; i++) { th.Start(); } } if (act == "stop") { try { th.Join(); th.Abort(); } catch { } } }
act("start", 10);//Старт 10-ти потоков act("stop", 0);//Стоп потоков
Решение задачи: «Как реализовать создание и завершение потоков»
textual
Листинг программы
static void ThreadProc(object arg) { var token = (CancellationToken)arg; while (!token.IsCancellationRequested) // Do stuff. } static void Main() { var source = new CancellationTokenSource(); for (int i = 0; i < 10; i++) new Thread(ThreadProc).Start(source.Token); Console.ReadLine(); source.Cancel(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д