我正在开发Windows窗体应用程序。我正在使用单独的线程与串口通信。在按钮上单击我关闭串口并使用Thread.Abort()
中止线程。但是我得到了
线程正在中止异常。
private void button1_Click(object sender, EventArgs e)
{
Thread1.Abort();
if (isPortOpened)
{
serialPort1.DataReceived -= DataReceivedHandler;
serialPort1.Close();
}
}
答案 0 :(得分:4)
Thread.Abort
。你能指望什么?
你应该never, ever, ever, ever call Thread.Abort。真。
您应该向线程发出信号以完成,然后调用Thread1.Join
等待它完成正常结束