我编写了一个 C# 程序来调用一个函数,通过backgndWorkerEnroll_DoWork该函数又通过一个线程调用另一个函数。在我第一次启动线程后,该功能正常工作。然后我使用该方法中止线程thread.Abort()并再次调用thread.Start()方法。之前的函数调用仍然有效,它不会中止。如何强制关闭线程?
public int capture()
{
    System.Threading.Thread thEnroll = new System.Threading.Thread(delegate()
    {
        // winbio.OpenSession1();
        refresult1 = winbio.Enroll1(finger, false, refresult);
        //winbio.Enroll1(finger, false, refresult, out refresult1);
    });
    thEnroll.Name = "thEnroll";
    thEnroll.Start();
    while (true)
    {
        if (!thEnroll.IsAlive)
            break;
    }
    thEnroll.Abort();
    return result;
}
private void backgndWorkerEnroll_DoWork(object sender, DoWorkEventArgs e)
{
    capture();
}
还有一个查询。如何通过按钮单击事件强制关闭 backgroundDo_Work。