Принудительное завершение потока. 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;
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д