별도의 스레드 ListenerThread
에 원격 서버에서 브로드 캐스팅 한 정보를 수신하는 소켓이 있습니다. 이것은 내가 개발할 필요가있는 한 클래스의 생성자에서 생성됩니다.소켓이있는 별도의 스레드를 죽이는 경우
일단 별도의 스레드가 시작되면 기본 스레드에서 차단 기능을 피할 필요가 있습니다. 클래스의 소멸자를 호출하는 시점에서 리스너 스레드에 대한 조인을 수행 할 수 없으므로 수행 할 수있는 유일한 작업은 그것을 죽이는 것입니다.
내 질문은 :
, 스레드에 전달 함수에 의해 할당 된 네트워크 resoruces에 무슨 일? 소켓이 제대로 닫혀 있습니까? 아니면 보류중인 것이 있습니까? (이것에 대해 가장 걱정)
이 절차는 충분히 빠릅니다. 즉 스레드가 즉시 중단되도록 스레드가 죽었습니까?
내가 ... 리눅스 함께 일하고 어떤 명령이나 어떤 내가 어떤 네트워크 자원이 보류 남아 있지 있는지 확인하기 위해 확인하실 수 있습니다 또는 뭔가 운영 체제
에 대한 잘못된 정말 감사합니다 당신의 도움이
감사에 대한 많은 MNSTN
참고 : 나는 C에서 부스트 : 스레드를 사용하고 ++
감사합니다. Nikolai! PTHREAD를 사용하더라도 pthread_cancel 또는 pthread_kill 또는 다른 함수를 사용하여 동일한 문제가 발생했는지 확인할 수 있습니까? 동일한 자체 파이프 트릭은 OS의 네트워크 자원으로 인해 적용되어야합니다. 맞습니까? – user311906
필자는 * must *를 말하지 않겠지 만 동일하게 작동 할 것입니다 ('boost :: thread'는 유닉스에서 PThreads로 구현됩니다.) –