杀死一个线程

xbo*_*nez 4 c# multithreading

我正在处理的项目中有以下代码片段:

public void Start()
      {
         Thread t = new Thread(NotifyIfNecessary);
         Threads.Add(t);
         t.Start();
         t.Abort());

      }
Run Code Online (Sandbox Code Playgroud)

我想要的是线程't'应该执行NotifyIfNecessary方法并且只在方法完成执行后才中止.在我当前的代码中,t.Abort()被过早调用.

Don*_*nut 6

这是因为您正在创建一个新线程并启动它,然后通过调用该Thread.Abort()方法立即从您刚刚创建它的线程中删除它.你不需要这样做; NotifyIfNecessary完成执行后,您的线程将完成.只需删除该行t.Abort();,您的代码就可以正常运行.