쓰레드를 사용하는데 한계가 있나요??
pthread를 사용하는데... 개수상 한계가 아니라 쓰레드가 처리하는
능력의 한계가 프로세스와 다른가 하는건데요
한 쓰레드에서 패킷을 받고 다른 여러 쓰레드에 나눠줘서 각 쓰레드에서
패킷에 대한 처리를 하는 프로그램인데
한종류의 패킷을 계속 보내면 특정 쓰레드가 서버 상태가 좋은면 20만번
이상 버티는데 부팅한지 오래 됬다 싶으면 10만번도 가지 못하고 먹통이
되어버리네요.....
다른 쓰레드들은 멀쩡히 돌고 있구요
suspend된 상태에서 pthread_cond_signal을 아무리 날려도 살아나지 않아요
쓰레드에서 하는 부하 걸리는 것을 빼면 아주 잘돌아가구요
(pthread lock, unlock하는데서 데드락 걸리는 문제는 아닌것 같아요)
쓰레드가 한참 일을 하고 있을때에는 그 쓰레드는3%정도까지 cpu를 사용하거든요
전체 쓰레드가 합쳐서 50M정도의 메모리를 사용하구요
솔라리스에서는 5배 정도 오래 버티는것 같더라구요
혹시 아시는분 있으면 답변 부탁드립니다