[질문] 백그라운드로 특정시간동안 특정주기로 실행되는 프로그?
글쓴이: psycoder / 작성시간: 금, 2004/04/16 - 5:53오후
안녕하세요.. :)
윈도기반에서 백그라운드로 계속 실행되면서 특정시간동안 특정주기로 뭔가를 하는 프로그램을 만들려고 합니다.
제가 초보라서 초보틱하게 다음과 같이 생각해봤는데요.
SYSTEMTIME st; GetLocalTime(&st); while(1) { if(st.wTime>9 && st.wTime<19 && st.wMinute/20==0) { ...... } }
근데 문제는 저 if()문이 false인 기간동안 while()문 때문에 cpu 사용률이 100%로 올라간다는 겁니다.
예전에도 이와같은 문제로 올라온 쓰레드를 봤는데요..
거기선 해결책으로 sleep() 을 사용하는거더군요.
근데 제 경우엔 노는 시간을 계산하기 힘들어 sleep()을 사용하기가 참 애매합니다.
어떻게 해결하면 될까요?
while()문을 쓰지않고 백그라운드로 돌릴수 있는 다른 방법이 있나요?
유닉스에선 쉘에서 바로 지원하니 간단한데..윈도에서 코딩은 첨하는 거라 어렵네요. :oops:
그리고 시간이 제멋데로 설정된 컴터에서는 제가 원하지 않는 시간에 동작하게 되는데 이건 어떻게 해결할수 있을까요?
답변 부탁드리구요..좋은 하루 되십시오. :D
Forums:
타이머를 쓰시고타이머 메시지를 받을때while문안의 코드를 넣어주
타이머를 쓰시고
타이머 메시지를 받을때
while문안의 코드를 넣어주시면 됩니다.
^^ 홧팅~
C++, 그리고 C++....
죽어도 C++
while()문의 끝에 Sleep(0)를 넣어도 됩니다.
while()문의 끝에 Sleep(0)를 넣어도 됩니다.
댓글 달기