C# 타이머란 무엇인가?
C#에서 타이머 기능을 사용하려면 System.Timers 네임스페이스를 활용해야 합니다. 이 네임스페이스에 포함된 Timer 클래스는 미리 설정한 시간 간격이 지나면 자동으로 이벤트를 발생시키며, 필요에 따라 이벤트를 반복적으로 생성하도록 설정할 수도 있습니다.
타이머는 백그라운드 작업 스케줄링, 주기적인 데이터 동기화, 로그 자동 저장 등 다양한 시나리오에서 유용하게 활용됩니다.
타이머 구현 단계
1단계: 타이머 객체 생성
먼저 5초(5000밀리초) 간격으로 작동하는 타이머 객체를 생성합니다.
timer = new System.Timers.Timer(5000);
2단계: Elapsed 이벤트 등록
타이머에 Elapsed 이벤트 핸들러를 연결합니다. 이 이벤트는 설정된 간격이 경과할 때마다 호출됩니다.
timer.Elapsed += OnTimedEvent;
3단계: 타이머 시작
Enabled 속성을 true로 설정하여 타이머를 활성화하고 시작합니다.
timer.Enabled = true;
전체 예제 코드
다음은 System.Timers.Timer를 사용해 5초마다 이벤트를 발생시키는 완전한 C# 프로그램입니다.
using System;
using System.Timers;
public class Demo {
private static Timer timer;
public static void Main() {
// 타이머 객체 생성 및 간격 설정
timer = new System.Timers.Timer();
timer.Interval = 5000; // 5초
// Elapsed 이벤트 핸들러 등록
timer.Elapsed += OnTimedEvent;
// 반복 실행 및 타이머 활성화
timer.AutoReset = true;
timer.Enabled = true;
Console.WriteLine("Press the Enter key to exit anytime... ");
Console.ReadLine();
}
// 간격이 경과할 때 실행되는 이벤트 핸들러
private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) {
Console.WriteLine("Raised: {0}", e.SignalTime);
}
}주요 속성 설명
- Interval: 이벤트 발생 간격을 밀리초 단위로 지정합니다 (5000 = 5초).
- AutoReset: true로 설정하면 간격마다 이벤트가 계속 반복 발생하고, false로 설정하면 한 번만 발생합니다.
- Enabled: 타이머의 작동 여부를 결정합니다. true로 설정하면 타이머가 시작됩니다.
- Elapsed: 설정된 간격이 경과했을 때 발생하는 이벤트입니다.
실행 결과
프로그램을 실행하면 5초마다 콘솔에 이벤트 발생 시각이 출력되며, Enter 키를 누르면 언제든지 프로그램을 종료할 수 있습니다.