>백엔드 개발 >C++ >C# 콘솔 애플리케이션에서 타이머를 구현하는 방법은 무엇입니까?

C# 콘솔 애플리케이션에서 타이머를 구현하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-20 05:07:10678검색

How to Implement a Timer in a C# Console Application?

C# 콘솔 애플리케이션에서 타이머 구축

이 가이드에서는 System.Threading.Timer 클래스를 사용하여 C# 콘솔 애플리케이션에 타이머를 통합하는 방법을 보여줍니다. 이 클래스는 설정된 간격으로 반복적으로 메소드를 실행하는 과정을 단순화합니다.

구현 예:

다음 코드는 콜백 메서드, 실행 간격(밀리초 단위) 및 선택적 상태 개체를 정의하여 Timer 개체를 생성하는 방법을 보여줍니다.

<code class="language-csharp">using System;
using System.Threading;

public class TimerExample
{
    private Timer _timer;

    public void Main(string[] args)
    {
        // Creates a timer that calls TimerCallback every 2 seconds (2000 milliseconds)
        _timer = new Timer(TimerCallback, null, 0, 2000);

        // Keeps the console application running until the user presses Enter
        Console.ReadLine();
    }

    private void TimerCallback(object state)
    {
        // Actions to perform at each timer interval, e.g., updating data or displaying a message
        Console.WriteLine("Timer event triggered at: " + DateTime.Now);
    }
}</code>

GC.KeepAlive()

로 최적화

루프 실행이 빈번한 상황에서는 불필요한 리소스 소비가 발생할 수 있습니다. GC.KeepAlive() 메서드는 가비지 수집을 최적화하여 메모리 관리를 개선하는 데 도움이 됩니다.

향상된 코드:

이 업데이트된 코드에는 더 나은 리소스 처리를 위해 GC.KeepAlive()이 포함되어 있습니다.

<code class="language-csharp">// ... previous code ...
private static void TimerCallback(Object o) 
{
   GC.KeepAlive(o); // Prevents premature garbage collection of the 'o' object

   // ... rest of the TimerCallback method ...
}</code>

이러한 방법을 사용하면 C# 콘솔 애플리케이션에 타이머를 효율적으로 통합하여 정의된 간격으로 예약된 작업을 실행할 수 있습니다.

위 내용은 C# 콘솔 애플리케이션에서 타이머를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.