과제를 하다가 정말 모르겠는 부분이 있어서 질문드립니다.
멀티 쓰레드를 이용해 서버와 클라이언트들이 일대다 통신을 하는 프로그램을 만들어야 하는데요,
조건은 서버 쪽에서는 특정 쓰레드를 지정해서 메세지를 보내거나 모든 쓰레드에 한꺼번에 메세지를 보낼 수 있어야 합니다. 그리고 서버는 특정 쓰레드와 모든 쓰레드를 종료시킬 수 있습니다.
클라이언트와 서버 모두 서로에게 메세지를 보낼 수 있습니다.
궁금한 점은 다음과 같습니다.
1. 쓰레드를 깨울 때 pthread_cond_signal을 이용해 깨워야 하는데, 이 함수로는 특정 쓰레드를 지정할 수 없지 않나요? 원하는 쓰레드만 깨워서 작동시킬 수 있는 방법이 있나요?
2. 서버쪽 프로그램은 계속 클라이언트를 accept하기 위해 while(1)을 돌며 accept로 대기 중인데, 이러한 상황에서 서버가 전체 쓰레드에 메세지를 send할 수 있나요?
제가 생각한 코드는 다음과 같은데요(중요한 부분만 간추려서 작성했습니다)