[질문]딜레이를 줄려고 합니다.
글쓴이: p_teto / 작성시간: 목, 2003/06/12 - 5:08오전
넘 허접한 질문일지도... ^^
예를 들면 화면에 ...... <-- 이런식으로 프린트가 된다면 점과 점사이의
디레이를 1초씩 줄려고 하면 어떻게 해야하는지 궁금합니다.
#include <stdio.h> #include <time.h> #define DELAY 1 int main() { time_t start_Time; start_Time = time(NULL); while (1) { if (difftime(time(NULL), start_Time) >= DELAY) { printf("==> After %d Second\n\n", DELAY); start_Time = time(NULL); } } return 0; }
현제 이런식으루 구현을 했는데 \n을 빼주면.. 출력이 안됀다는 문제점도 있고
게시판을 검색해보니 시그널 함수를 활용하는것에 대해서도 있더군요.
시그널 함수로 구현을 한다면 어떻게 구현을 해야하는지 궁금합니다.
p.s 제가 너무 몰라서.. 게시판을 검색해 봐도.. 이해가 안돼서.. ㅜ.ㅡ.. 답변 부탁드려요 ^^
Forums:
sleep(1);fflush(stdout);
sleep(1);
fflush(stdout);
추가로 현재 사용하신 코드는 엄청난 CPU부하를 자랑합니다.한마디로
추가로 현재 사용하신 코드는 엄청난 CPU부하를 자랑합니다.
한마디로 박터지지요 ^^; 그렇게 만드시면 안됩니다. ^^;
1초이하의 딜레이가 필요할 시에는 usleep or nanosleep등의 함수를
사용할 수 있습니다.
그나저나 백수 언제 탈출하냐... ㅡㅡ; 배고파라.
[code:1]#include <sys/time.h>m
구한말 유닉스는 usleep()이 없었습니다. 하여간, 거두 절미하고, 위 코드도 사용가능하겠지요? 후일 select()함수를 배우게 될때쯤이면 보탬이 조금 될지도 모르겠네요.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
댓글 달기