클라이언트의 네트워크나 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(~)
}
}
현제 대충 이런 식임.
댓글 0