USB를 통해 연결된 장치에서 몇 가지 작업을 수행 할 Windows Forms 응용 프로그램을 개발 중입니다. 읽기, 쓰기 및 기타 작업과 같은 모든 작업에는 사용자 정의 라이브러리가 있습니다.차단 호출에서 멈춘 스레드 중지
쓰기 작업은 사용자가 버튼을 눌렀을 때 수행됩니다.
읽기 위해 별도의 스레드가 만들어집니다. 사용 가능한 라이브러리의 문제점은 읽기 호출이 차단되고 INFINITE Timeout이 있음을 의미합니다.
연결에 실패 할 경우이 함수는 데이터를받는 경우에만이 함수가 중단되므로 읽기 함수 호출에 멈추었습니다.
그런 시나리오에서이 스레드를 죽이는 방법은 무엇이 있을까요? Thread.Abort()가 작동하지 않습니다.
이 프로그래밍에서는 C#을 사용하고 있습니다.
, 솔직히, 그것을 버리고 다른 것을 사용한다. – Clemens
알아요 .... 할 수 있었으면 좋겠어 ...하지만 C#의 기본 직렬 포트 클래스의 경우도 마찬가지입니다. Timeout을 Infinte로 설정하면 읽기 작업이 실패한 연결에서 멈 춥니 다. – Swanand
당신이 읽으려는 내용에 "핸들"을 닫으려고 시도 할 수 있습니다 ... 그러면 내가 추측해야 할 Read가 취소 될 것입니다 ... 쓰여지는 방법에 따라 스레드가 종료 될 수 있습니다. –