쓰레드 사용시 전역변수를 이용하지 않고 구조체를 가지고 하려고 합니다.
예제들을 보니 대략 다음과 같더군요... :D
typedef struct{
double volatile *p_s;
pthread_mutex_t *p_s_lock;
...
}DATA;
void *thread_function(void *arg){
DATA D = *(DATA *)arg
...
pthread_mutex_lock(D.p_s_lock);
p_s = val_to_modify;
pthread_mutex_unlock(D.p_s_lock);
}
void main(){
DATA *A;
double volatile s;
for(...){
A[i].p_s = &s;
pthread_create(...);
}
for(...){
pthread_join(...);
}
}
각각의 쓰레드에서 사용하는 변수(p_s)가 main 안의 하나의 변수(s)와 어떻게 매치되는 지 궁금합니다. :?: