클라이언트에서 쓰레드 풀....??
글쓴이: ljksky / 작성시간: 화, 2003/04/15 - 7:19오후
서버 프로그램에서 쓰레드 풀을 할려고 하면...
-------------------------------------------------------------------- .. .. client_sockfd = accept(server_sockfd, (struct sockaddr*)&clientaddr, &client_len); 루프를 돌면서 놀고있는 쓰레드를 찾아 시그널pthread_cond_signal()을 보내 쓰레드를 깨워 작업을 시킨다... --------------------------------------------------------------------
이런 식으로 했었는데...
클라이언트 프로그램에서 쓰레드 풀을 만들어..
하나의 서버에 접속하여 서버가 send를 해주면
놀고있는 쓰레드가 다시 서버에 데이타를 send해
줄는 식으로 짤려면...
어느 시점에서 pthread_cond_signal()를 써야 하는지
해깔리네요..
connect()인지.. recv()에서 대기하고 있다 해야하는지...
Forums:
recv 후에
recv후에 해당 데이터를 받아서 특정 쓰레드에 넘겨주고 깨운다음 처리하게 냅두고, 하는 방식일거 같은데... 특별하게 서버와 단일작업을 하는경우 한 커넥션에 여러개의 쓰레드가 과연 작동할 필요가 있나요?
흠... 보통 서버에 여러개의 클라이언트가 동시적으로 붙어서 작업해야 정상일듯 싶은데... 혹시 서버에 한개의 커넥션밖에 맺지 못해서 그런것이라면 recv후에 한녀석에게 넘겨주고, 작동 다한넘은 다시 wait상태로 들어가고 하면 되겠군요.
========================================
* The truth will set you free.
댓글 달기