저는 학교 프로젝트를하고 있습니다. (C로 개발해야합니다.) 프로그램 실행 후 X 초와 Y 초마다 코드를 실행해야합니다. 시작해야 끝납니다.sleep() C가 올바른 값을 반환하지 않습니다.
그래서 내가 쓴 :
alarm(Y);
s=X;
while(!end){
s = sleep(s); //because it generates some children that send signal to him and in that case i need to do other stuffs
if(s == 0){
//code to do each X seconds
}
}
변수 end
내가 X> Y 코드를 가지고있는 경우 전역 변수가 0으로 초기화하고 SIGALARM가 수신 될 때 값이 1
이되는 것입니다 각 X 초가 실행되지 않아야하지만 X = Y + 1이면 한 번 실행됩니다.
왜 이런 일이 발생했는지 말씀해 주시겠습니까?
나는 명확하지가 않다. 영어 문제는 잘 알고 있지만 그래픽 작업이 가능한가? –
[alarm (2) 및 sleep() 호출이 _ 착오가 바람직하지 않습니다 ._] (https://linux.die.net/man/3/sleep) –
수면 매뉴얼조차 경보 및 수면을 혼합한다고하면 나쁜 생각, 그렇게 생각하지 않아야합니다. – joemartin94