나는 아래와 같이 20 밀리 - 초 동안 세마포어를 기다리고 싶습니다. 그러나 tv_sec와 tv_nsec의 값이 매우 커지면 인쇄합니다.특정 시간 동안 sem_timedwait() 특정 시간 동안 sem_timedwait()
누구든지이 아래의 코드를 이해하는 데 도움이 될 수 있습니다.
if (clock_gettime(CLOCK_REALTIME, &ts) == -1)
{
//throw error
}
ts.tv_nsec += 20000000;
ts.tv_sec += ts.tv_nsec/1000000000;
ts.tv_nsec %= 1000000000;
sem_timedwait(&semaphore, &ts)
'printf'는 즉각적인 것이 아니며 그럴 수도 있습니다. –
큰 값은 무엇입니까? 'tv_sec'는 약 14 억,'tv_nsec'는 10 억 이하입니까? – mch
"억"이라고 생각하는 것은 무엇입니까? "10 억"은 다른 언어에서 모호합니다. '10 ** 9' 또는'10 ** 12'? – alk