我正在处理的项目中有以下代码片段:
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()被过早调用.
这是因为您正在创建一个新线程并启动它,然后通过调用该Thread.Abort()方法立即从您刚刚创建它的线程中删除它.你不需要这样做; NotifyIfNecessary完成执行后,您的线程将完成.只需删除该行t.Abort();,您的代码就可以正常运行.