C#에서 TcpClient 클래스를 사용하고 있습니다.C# : 처리기가 TCP 처리기 스레드에서 신호를 종료합니까?
새로운 tcp 연결 요청이있을 때마다 일반적으로이를 처리 할 새 스레드를 만드는 것이 좋습니다. 그리고 메인 쓰레드가 언제든지이 핸들러 쓰레드를 종료 할 수 있어야한다.
다음과 같이 이러한 핸들러 스레드 각각에 대한 내 솔루션은 다음과 같습니다
1 Check NetworkStream's DataAvailable method
1.1 If new data available then read and process new data
1.2 If end of stream then self terminate
2 Check for terminate signal from main thread
2.1 If terminate signal activated then self terminate
3 Goto 1.
이 폴링 방식의 문제는 이러한 핸들러 스레드의 모든 중요한 프로세서 자원을 복용하고 특히 경우 그래서를이 될 것입니다 거대한 수의 스레드. 이로 인해 매우 비효율적입니다.
더 좋은 방법이 있나요?
왜 커뮤니티 위키입니까? –
실수로 해당 옵션을 클릭했는데 다시 변경할 수 없습니다 !!! – Lopper