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 함수를 호출하네
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
160945 [질문] 아이폰13프로,프로맥스 무게관련 질문입니다 [12] 마음에걸리다6334 22/01/07 6334
160944 [질문] 무림세계관은 어디서 습득하면 좋을까요? [28] 꿀행성8003 22/01/07 8003
160943 [질문] 그래픽카드 수리 과정에서 환불 문제 어떻게 생각하세요? [6] resgestae7380 22/01/07 7380
160942 [질문] 간헐적 단식 하시는 분들 중에 검강검진 받으신 분 계신가요? [2] 트와이스정연5378 22/01/07 5378
160941 [질문] 부족전쟁같은 지도 기반 땅따먹기 전략겜 추천 부탁드립니다. [4] 깃털달린뱀8433 22/01/06 8433
160940 [질문] 폴드3 커버디스플레이 안나와보신분 혹시 계신가요? [1] Snake4881 22/01/06 4881
160939 [질문] 영양제 주사비를 실비보험으로 타면 병원측에 실례인가요? [2] 알콜프리6000 22/01/06 6000
160938 [질문] 박지성 맨유시절 손흥민이 가면 닥 주전이었을까요? [34] 멜키7234 22/01/06 7234
160937 [질문] 스톡웰2 통화기능 가능한가요? purplesoul6059 22/01/06 6059
160936 [질문] 사과 품종 질문 드립니다. [10] 회색사과8283 22/01/06 8283
160935 [질문] 택배기사가 물건을 모르는사람에게 전해줬을경우 [7] 멍차이6300 22/01/06 6300
160934 [질문] PC 구매 및 견적 질문 [5] 탱구6329 22/01/06 6329
160933 [질문] 스마트폰 촬영장비 질문입니다. [2] 나혼자만레벨업6423 22/01/06 6423
160932 [질문] 결정사 첫 만남 준비 어떻게 해아 할까요? [10] 시계깎는노인6937 22/01/06 6937
160931 [질문] 출퇴근 시간 9호선이 궁금합니다 [22] Choi`12646 22/01/06 12646
160930 [질문] 전세 세입자의 원상복구 의무는 어디까지일까요? (내용 깁니다) [12] 콩탕망탕8550 22/01/06 8550
160929 [질문] 청국장가루 맛잇게? 먹는방법.. [3] 스핔스핔5062 22/01/06 5062
160928 [질문] 식대 비과세 10만원은 인상이 되긴 할까요? [10] 보급보급7194 22/01/06 7194
160927 [질문] 혼수 가구쇼핑을 위해 서울 가구거리 위치를 질문드립니다. [9] 잘생김용현4728 22/01/06 4728
160926 [질문] C# 타이머 관련 질문입니다. [7] EZrock5911 22/01/06 5911
160925 [질문] 액셀 함수 좀 여쭙겠습니다. [16] 츠라빈스카야6274 22/01/06 6274
160924 [질문] 와이드 모니터 추천해주실 수 있나요? [2] 아르네트4989 22/01/06 4989
160923 [질문] ps3 용 한글판 2d rpg 추천 좀 부탁드립니다. [5] 귀여운호랑이5552 22/01/06 5552
목록 이전 다음
댓글

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