클라이언트의 네트워크나 CPU,메모리 사용률 등을 측정해서 그 값을 서버로 전송하는 프로그램을 만들고 있는데

주기적으로 계속 측정하면서 서버로 전송하기 위해 클라에서 p_thread로 스레드 2개를 만들었어.


그 2개 스레드는 각각 하드웨어하고 네트워크 상태 측정하면서 전역변수 구조체에 측정값을 담는 함수를 돌리고,

(일단 하드웨어는 3초, 네트워크는 2초 주기로)

그 구조체를 전송할 때, 각각의 주기에 맞춰서 전송하기 위해 클라의 send위에 pthread_cond_wait 놓고

나머지 스레드 2개 끝에 pthread_cond_signal을 집어넣었더니

최초 측정값이 전송이 안되거나 하는 사태가 발생함.


대충 뭐가 문제인지는 알겠는데, 이거 외에는 어떻게 짜야할지 모르겠어.

제발 답변 좀 부탁해.


======================================================================================


struct 전송데이터{

int      구분용

struct 하드웨어 측정값

struct 네트워크 측정값

}


main{

|

|

pthread_create(~);

pthread_create(~);


while(1){

pthread_cond_wait(~);

send(~)

}

}


현제 대충 이런 식임.