모두 안녕하세요!C에서 SerialPort 및 스레드로 "안전한 핸들이 닫혔습니다."
이 스레드 포트는 직렬 포트에서 한 행으로 읽는 SerialPort
래퍼입니다. 여기에 내 스레드 코드가 있습니다. 내가 myThread.Abort();
를 호출 할 때
protected void ReadData()
{
SerialPort serialPort = null;
try
{
serialPort = SetupSerialPort(_serialPortSettings);
serialPort.Open();
string data;
while (serialPort.IsOpen)
{
try
{
data = serialPort.ReadLine();
if (data.Length > 0)
ReceivedData(serialPort, new ReceivedDataEventArgs(data));
}
catch (TimeoutException)
{
// No action
}
}
}
catch (ThreadAbortException)
{
if (serialPort != null)
serialPort.Close();
}
}
나는 "안전 손잡이는 폐쇄되었습니다"(코드없이 라인 또는 참조) 예외를 얻을. 아무도 내가 잘못하고있는 것을 발견 할 수 있습니까? 감사.
그건 그렇고, 나는 Start()
과 Stop()
스레드를 생성하고 스레드를 중단합니다.
일부 예제 코드를 추가했습니다. –