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