나는 POSIX 스레드를 사용하여 C 프로그램을 작성 중이다.수면 스레드 깨우기, 다른 N 초 동안 수면
N을 전역 변수로 둡니다. sleep (N)을 호출하는 스레드가 있습니다. 그런 다음 다른 스레드가 N 값을 변경합니다. 어떻게 sleep (N)이라고하는 원래 스레드를 깨우고 N의 새 값에서 다시 절전 모드를 호출 할 수 있습니까?
내가 N이 업데이트되는 경우, N에 대한 자고 싶어 일어나, 내가는 pthread_cond_wait와과 pthread_cond_timedwait로 보았다 N.의 새로운 값
수면, 바꿔하려면,하지만 난 그것을 생각하지 않는다 스레드가 특정 시간 동안 잠 들어있을 필요가 있으므로 필자의 경우 유용하다. 나는 끊임없이 잠을 자고 매 초마다 일어나도록 내 스레드가 필요하다. user1930928으로
아래 보여, 나는 내가
['pthread_cond_timedwait'] (http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_timedwait.html#tag_16_420)을 시도하고 문제가 있는지 입증 할 수 있는지 다른 질문을하십시오. – pilcrow
당신이 조금 못 알아 들었어, 업데이트 된 N 값을 위해 쓰레드를 잠자기하고 싶니? –
예, N을 위해 잠자기를하거나 N이 업데이트되면 깨우쳐 새 값 N – dj3000