1
루프에 남아있는 새 스레드를 만들고 싶습니다. 다음과 같은 것 :pthread를 사용하여 시계 만들기
void Clock() {
double Time = 0;
while (1) {
usleep(1000);
Time = (Time+0.1);
}
return;
}
그러면 다른 기존 스레드가 최신 클럭 값에 액세스하여이를 사용할 수있게됩니다. 어떻게 "Time"변수를 선언하여 모든 스레드가 액세스 할 수 있도록하고,이를 수용하기 위해 위의 코드를 어떻게 변경합니까? 또한 액세스하려면 어떻게해야합니까?
글로벌 변수로 만드시겠습니까? –
@JoachimPileborg 많은 소스 파일이 있는데, 헤더 파일에 전역 변수를 선언하여 모든 소스 파일에서 사용할 수 있도록 할 수 있습니까? 또는 다른 해결책이 있습니다. – Mst137
그냥 글로벌 변수로 만들면 경합 조건을 구걸하게 될 것입니다. 뮤텍스를 잠그는 접근 자 함수로 정적으로 만듭니다. 'Clock()'함수에서 같은 뮤텍스를 잠그십시오 (잠시 동안이 아니라 업데이트하는 동안!). –