PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2022/01/06 15:11:54
Name EZrock
Subject [질문] C# 타이머 관련 질문입니다. (수정됨)
인터벌이 1초인 타이머가 있습니다.

그 타이머에는 작업이 1.5초 걸리는 작업이 돌아가게 됩니다.

작업시간이 인터벌을 넘어서게 되는데 이때 틱 메소드에서 우선 enabled를 false로 세팅하고 finally문에서 다시 enabled를 true로 바꾸는 구조로 되어있습니다.

작업을 여러개 쌓아놓으면 순차적으로 이어지면서 처리되는데 이 안에서 어떤 일들이 벌어지는지 직관적으로 이해가 되지 않습니다.

그리고 인터벌을 5초로 세팅하면 마찬가지로 enabled가 한번 바뀌고 5초 뒤에 돌게 되더라고요

인터벌이 1초일때 그리고 5초일때 저 틱메소드와 타이머 전체적으로 어떤 일들이 일어나게 되는지가 너무 궁금합니다.

통합규정 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 23:08
수정 아이콘
밑의 42년모솔님이 맞는것 같습니다 답변 감사합니다
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/06 23:08
수정 아이콘
밑의 42년모솔님이 맞는것 같습니다 답변 감사합니다
42년모솔탈출한다
22/01/06 16:31
수정 아이콘
그냥 1.5초 동작 -> 1초 인터벌 -> 1.5초 동작 -> 1초 인터벌 -> 반복
아닌가요?
22/01/06 23:08
수정 아이콘
이게 맞는것 같습니다. 답변 감사합니다
22/01/07 00:47
수정 아이콘
지금 글쓴이님 쪽지 받고 테스트해보니 제가 잘못 알고 있었네요
타이머 enable 속성이 false 에서 true 로 바뀐 다음 interval 시간동안 대기 하고 다시 Tick 함수를 호출하네
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
160947 [질문] 피지알 약사님들 타이레놀 수입허가는 언제쯤 날지 아시나요? [7] 김티모7169 22/01/07 7169
160946 [질문] 아이폰 잘 산 걸까요? / 애플케어 가입해야 할까요? [7] 엄마 사랑해요6486 22/01/07 6486
160945 [질문] 아이폰13프로,프로맥스 무게관련 질문입니다 [12] 마음에걸리다7192 22/01/07 7192
160944 [질문] 무림세계관은 어디서 습득하면 좋을까요? [28] 꿀행성8755 22/01/07 8755
160943 [질문] 그래픽카드 수리 과정에서 환불 문제 어떻게 생각하세요? [6] resgestae8401 22/01/07 8401
160942 [질문] 간헐적 단식 하시는 분들 중에 검강검진 받으신 분 계신가요? [2] 트와이스정연6135 22/01/07 6135
160941 [질문] 부족전쟁같은 지도 기반 땅따먹기 전략겜 추천 부탁드립니다. [4] 깃털달린뱀10095 22/01/06 10095
160940 [질문] 폴드3 커버디스플레이 안나와보신분 혹시 계신가요? [1] Snake5406 22/01/06 5406
160939 [질문] 영양제 주사비를 실비보험으로 타면 병원측에 실례인가요? [2] 알콜프리6415 22/01/06 6415
160938 [질문] 박지성 맨유시절 손흥민이 가면 닥 주전이었을까요? [34] 멜키7934 22/01/06 7934
160937 [질문] 스톡웰2 통화기능 가능한가요? purplesoul6610 22/01/06 6610
160936 [질문] 사과 품종 질문 드립니다. [10] 회색사과9138 22/01/06 9138
160935 [질문] 택배기사가 물건을 모르는사람에게 전해줬을경우 [7] 멍차이6865 22/01/06 6865
160934 [질문] PC 구매 및 견적 질문 [5] 탱구7198 22/01/06 7198
160933 [질문] 스마트폰 촬영장비 질문입니다. [2] 나혼자만레벨업6887 22/01/06 6887
160932 [질문] 결정사 첫 만남 준비 어떻게 해아 할까요? [10] 시계깎는노인7568 22/01/06 7568
160931 [질문] 출퇴근 시간 9호선이 궁금합니다 [22] Choi`14109 22/01/06 14109
160930 [질문] 전세 세입자의 원상복구 의무는 어디까지일까요? (내용 깁니다) [12] 콩탕망탕9798 22/01/06 9798
160929 [질문] 청국장가루 맛잇게? 먹는방법.. [3] 스핔스핔5729 22/01/06 5729
160928 [질문] 식대 비과세 10만원은 인상이 되긴 할까요? [10] 보급보급7731 22/01/06 7731
160927 [질문] 혼수 가구쇼핑을 위해 서울 가구거리 위치를 질문드립니다. [9] 잘생김용현5293 22/01/06 5293
160926 [질문] C# 타이머 관련 질문입니다. [7] EZrock6509 22/01/06 6509
160925 [질문] 액셀 함수 좀 여쭙겠습니다. [16] 츠라빈스카야7166 22/01/06 7166
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로