:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
22/01/06 16:02
메인 에서는 1초에 한번씩 Timer 가 Enable 되어 있으면 Timer_Tick 메소드를 호출
1초 -> Timer_Tick 호출됨(Timer.Enable = false 로 변경 하며 작업 수행) 2초 -> Timer_Tick 호출 할려고 하였으나 Enable 이 false 라 호출하지 않음 2.5초 Timer_Tick 메소드 끝남(Timer.Enable = true 로 변경) 3초 -> Timer_Tick 호출됨(Timer.Enable = false 로 변경 하며 작업 수행) 4초 -> Timer_Tick 호출 할려고 하였으나 Enable 이 false 라 호출하지 않음 4.5초 Timer_Tick 메소드 끝남(Timer.Enable = true 로 변경) 5초 -> Timer_Tick 호출됨(Timer.Enable = false 로 변경 하며 작업 수행) interval 이 5000ms 일 경우 1초 -> Timer_Tick 호출됨(Timer.Enable = false 로 변경 하며 작업 수행) 2.5초 작업 끝남(Timer.Enable = true 로 변경) 6초 -> Timer_Tick 호출됨(Timer.Enable = false 로 변경 하며 작업 수행) 7.5초 작업 끝남(Timer.Enable = true 로 변경)
22/01/06 16:05
C#은 잘 모르지만 일반적인 타이머와 틱을 생각해 봤을때 대충 틱을 0.5초라고 가정하면
0: 작업시작 enabled=false 0.5: 인터벌도달x -> 작업x 1: 인터벌도달, enabled==false -> 작업x 1.5: 작업끝 enabled=true 1.5: 인터벌도달, enabled==true -> 작업시작 반복 5초일때는 0: 작업시작 enabled=false 0.5: 인터벌도달x -> 작업x 1: 인터벌도달x -> 작업x 1.5: 작업끝 enabled=true 1.5: 인터벌도달x -> 작업x 2: 인터벌도달x -> 작업x ... 5: 인터벌도달, enabled==true -> 작업시작 반복 대충 이렇게 동작하지 않을까요? 원하는 답변이 맞는지 모르겠네요.
22/01/07 00:47
지금 글쓴이님 쪽지 받고 테스트해보니 제가 잘못 알고 있었네요
타이머 enable 속성이 false 에서 true 로 바뀐 다음 interval 시간동안 대기 하고 다시 Tick 함수를 호출하네
|