FD 가 한개인 경우 select, epoll 의 사용여부에 대한 질문입니다.

trymp의 이미지


리눅스 프로그래밍 초보입니다.

네트워크 멀티쓰래드 프로그램을 짜고 있는데요.

소켓 FD 에서 수신여부를 확인하기 위해... 좀 더 정확히 말하면 다중 FD 에서

어떤 FD 에서 이벤트가 발생하였는지를 알기 위해 select 나 epoll 을 사용하는 것으로

알고 있습니다.

그러면 FD 가 한개인 경우는 select 나 epoll 안써도 되지 않나요?

그냥 loop 내에서 setsockop() timeout 설정하고 recvform() 으로 걸어놓으면

동일하지 않나요?

혹시 recvform() 에서 block 하고 있으면 다른 thread 에 영향을 주나요?

고수님들의 많은 조언 부탁드립니다.