반응형
.NET에 5 가지 버전의 타이머 클래스가있는 이유는 무엇입니까?
.Net 프레임 워크에 다음과 같은 5 개의 타이머 클래스가있는 이유는 무엇입니까?
System.Timers.TimerSystem.Threading.TimerSystem.Windows.Forms.TimerSystem.Web.UI.TimerSystem.Windows.Threading.DispatcherTimer
Timer 클래스에 여러 버전이있는 이유는 무엇입니까? 그리고 그들 사이의 차이점은 무엇입니까?
Timers.Timer반복 이벤트를 생성하는 옵션과 함께 설정된 간격 후에 이벤트를 생성합니다. MSDN
Windows.Forms.Timer winforms에 대한 컨트롤입니다.
Web.UI.Timer정의 된 간격으로 비동기 또는 동기 웹 페이지 포스트 백을 수행합니다. MSDN
Threading.Timer콜백 타이머입니다. 작업을위한 새 스레드를 만듭니다. 스레드 풀 스레드에서 제공합니다. MSDN
따라서 이러한 타이머는 용도가 다르며 다른 도구에서 제공됩니다.
다음은 기본 타이머에 대한 설명과 내가 가장 주목할만한 포인트입니다.
Winforms.Timer
- 특정 시간에 티켓이 보장되지 않는 UI 스레드의 틱
- UI 스레드가 유휴 상태가 될 때까지 틱 지연
- UI 스레드가 사용 중이면 틱을 건너 뜁니다.
DispatcherTimer
- UI 스레드에서 호출
- 틱을 생성하는 데 필요한 '유휴'수준에 대한 우선 순위를 설정할 수 있습니다.
- 진드기를 건너 뛸 것입니다
Threading.Timer
- 스레드 풀에서 작업자 스레드에 대한 틱-스레드 지정 옵션 없음
- 진드기는 항상 정시에 발사됩니다.
- 건너 뛰는 항목 없음-이전 틱을 처리하는 동안 새 틱을 방지해야합니다.
Timers.Timer
- 스레딩 타이머 주위의 래퍼
- CLR 스레드 풀에서 가져온 작업자 스레드의 틱
- SynchronizationObject를 제공하여 특정 스레드를 강제로 틱할 수 있습니다.
- 진드기는 항상 정시에 발사됩니다.
- 건너 뛴 항목이 없습니다.
- 조용히 예외를 먹는다
참고 URL : https://stackoverflow.com/questions/10317088/why-there-are-5-versions-of-timer-classes-in-net
반응형
'Program Club' 카테고리의 다른 글
| 클래스 탐색기없이 속성 맵에 속성을 추가하는 방법은 무엇입니까? (0) | 2020.11.15 |
|---|---|
| Rstudio 및 Google 드라이브 동기화 문제 : "다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스 할 수 없습니다." (0) | 2020.11.15 |
| 이 코드로 TLS를 통해 TLS를 실행하려고 할 때 핸드 셰이크 오류가 발생하는 이유는 무엇입니까? (0) | 2020.11.15 |
| 플레이 프레임 워크 애플리케이션을위한 무료 및 저비용 호스팅 경험이 있으십니까? (0) | 2020.11.15 |
| 코어 데이터에서 NSUInteger를 유지하기 위해 사용해야하는 NSNumber (Integer 16, 32, 64) (0) | 2020.11.15 |