1
밀리 초 단위로 pthread_cond_timedwait를 사용하려고하는데 휴면 시간이 없습니다. 내 스레드는 내가 언급 한 것보다 더 자고있다. 아래는 나의 구현이다. 내가 어디서나 틀렸다면 알려줘.밀리 초 단위로 pthread_cond_timedwait를 사용하는 방법
struct timeval tp;
struct timespec ts;
int rc = gettimeofday(&tp, NULL);
ts.tv_sec = tp.tv_sec;
ts.tv_nsec = tp.tv_usec * 1000;
ts.tv_nsec += 30 * 1000000; //30 is my milliseconds
pthread_mutex_lock(&mtxPlaybackWait);
pthread_cond_timedwait(&playbackSignal, &mtxPlaybackWait, &ts);
pthread_mutex_unlock(&mtxPlaybackWait);
당신이 스레드가 자고 정확한 시간을 알 수 있습니까? 시간 초과가 발생합니까? –
시간 초과가 발생하고 잠자기 시간은 항상 내가 설정 한 밀리 초 이상입니다. 뮤텍스 잠금은 추가 시간이 걸릴 수 있습니까? – sam18