Как завершить поток? - C#
Формулировка задачи:
Проблема в том, что создается поток, который нужно завершить нажатием кнопки
Создался поток
Нужно завершить
Так не работает, вызывается ошибка, что делать?
public void button1_Click(object sender, EventArgs e) { Thread Thread = new Thread(server_tcp) { IsBackground = true }; Thread.Start(); //abort(Thread); //Thread MyThread = new Thread(server_tcp); //MyThread.Start(); }
public void button2_Click(object sender, EventArgs e) { Thread.Abort(); Thread.Join(); }
Решение задачи: «Как завершить поток?»
textual
Листинг программы
namespace Nya.ExitThread { class Program { static void Main(string[] args) { using (var tokenSource = new CancellationTokenSource()) { var thread = new Thread(new ParameterizedThreadStart((parameter) => { var token = (CancellationToken)parameter; while (!token.IsCancellationRequested) { Thread.Sleep(5000); if (token.IsCancellationRequested) break; else Console.WriteLine("Nya! {0}", DateTime.Now); } })); thread.Start(tokenSource.Token); while (Console.ReadLine() != "exit") ; tokenSource.Cancel(); thread.Join(); } Console.WriteLine("program stoped!"); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д