Принудительное завершение потока. Thread - C#
Формулировка задачи:
Здравствуйте, мне нужно принудительно завершить фоновой поток при таком раскладе.
Есть функция
Вызываю ее так.
Пытаюсь остановить ее таким образом.
Но ничего не выходит функции класса продолжают работать в потоке, как мне принудительно завершить поток?
public void func() { new class(); // В этом классе происходит обработка в цикле }
th = new Thread(func); th.IsBackground = true; th.Start();
if (th != null) th.Abort();
Решение задачи: «Принудительное завершение потока. Thread»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { CancellationTokenSource token = new CancellationTokenSource(); Task.Factory.StartNew(() => { Foo(token.Token); }); Thread.Sleep(5000); token.Cancel(); Console.ReadLine(); } static void Foo(CancellationToken token) { while (true) { Console.WriteLine("Running..."); Thread.Sleep(1000); if (token.IsCancellationRequested) { Console.WriteLine("Canceled..."); return; } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д