POSIX 스레드를 사용하여 응용 프로그램을 개발 중입니다.
문제의 스레드가 들어오는 데이터를 받고 있습니다. 대부분의 경우 잠을 자고 무언가가 일어나기를 기다리고 있습니다.
그러나 여기에는 두 가지 문제가 있습니다.
select()
하고 있으며 지원하지 않을 수도있는 가상 "포트"에서 이벤트를 기다리고 있습니다 select()
(예 : 특정 Bluetooth / USB 연결 등). 이러한 포트에 대한 알림 메커니즘을 구현할 것입니다. 다시 말하지만 간단한 POSIX 조건 신호로 충분합니다.이제 질문은 - 어떻게 모두 대기를 결합 select()
하고 pthread_cond_wait()
스레드의 단일 runloop 이러한 모든 이벤트에 깨워?
포트 수 (TCP 및 "가상"모두)는 5 미만으로 낮을 것으로 예상됩니다.
솔루션은 안정적이고 Linux 및 BSD와 유사한 플랫폼 (Android 및 iOS 포함)에서 작동해야합니다.
select()
모든 것에 사용하십시오 . 사용 파이프 () 기본적으로에 매핑되지 않는 것들에 대한을 fd
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다