|
200ms 마다 파일을 일어오면 디스크 입장에서는 계속 디스크를 읽어대는 상황이라 좋지않습니다.
이번 타이머 이벤트에 신규 파일이 존재하여 처리 하는데 시간이 많이 걸려 200ms를 넘어버리면 윈도우 이벤트가 쌓여가는
상황이 생기기 시작하고 그것이 많이 쌓이다 보면 예외 상황(프로그램 다운등)이 발생할 소지가 많이 생깁니다.
200ms는 너무 많이 발생시키는 것 같구요, 타이머 간격을 넓히거나, 이벤트 수행 중 중간 중간에 메세지 펌핑을 해주거나,
아니면 타이머 이벤트에서는 단순히 파일만 검사하고 신규파일이 존재하면 파일 정보와 함께 윈도우 메세지로 처리하라는
이벤트를 윈도우로 알려주고 끝내는 방식 등.. 타이머 이벤트에서는 가능한 부하량을 적게 가져갈 수있는 방향으로
구성하시는 것이 좋습니다.
열공 님이 쓰신 글 :
: 안녕하세요 타이머 관련 문의사항이 있어 이렇게 글을 남깁니다.
:
: 현재 사용중인 프로그램은 C++ Builder 5 입니다.
:
: Timer 생성 후 200ms 마다 타이머안의 함수를 불러오게 코드가 되어있습니다.
:
: 해당 함수는 Update 폴더에 파일이 들어오게 되면 처리하게 되어있도록 코딩되어있는데
:
: 여기서 문제점은 처음 진행시에는 잘되다가 연속적으로 진행할시
:
: 해당 Timer가 죽는(?) 현상이 발생한다는겁니다.
:
: 혹시 이런 구문을 작성할때에 해당 함수에서 종료 구문을 따로 집어넣어야하는건지..
: 아니면 Timer 를 다시 살릴수 있는 다른방도가 있는건지 궁금합니다.
:
: 이런 문제점에 대해서 알고계신분의 조언 부탁드립니다.
|