Тотальное завершение потока - C#
Формулировка задачи:
Уточните как завершить поток и работу метода полностью?
Я предполагал, что при вызове a.Aboat(); поток завешиваться полностью, по аналогу закрытия программы, но к сожалению это не так и при вызове a.Aboat(); function() с потоком продолжает спокойно работать.
Как убить поток полностью? В чём ошибка моего подхода?
Thread a = new Thread(function);
a.IsBackground = true;
a.Start();
Thread.sleep(100000);
a.Aboat();
//a.Join();
void function()
{
test t = new test();
t.step += () => {};
t.step2 += () => {};
}Решение задачи: «Тотальное завершение потока»
textual
Листинг программы
using System;
using System.Net.Sockets;
using System.Threading;
namespace ConsoleApplication212
{
class Program
{
static void Main()
{
var th = new Thread(DoSomething);
th.Start();
Thread.Sleep(100);//дожидаемся старта потока
th.Abort();//пытаемся остановить поток, но он не остановится
}
static void DoSomething()
{
var list = new TcpListener(3333);
list.Start();
var tcp = list.AcceptTcpClient();
}
}
}