中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何在c#中同步多個計時器

c#
小樊
100
2024-09-28 04:02:56
欄目: 編程語言

在C#中,要同步多個計時器,您可以使用Timer類并將它們的Elapsed事件處理程序設置為同一個方法

using System;

namespace SynchronizedTimers
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創建并啟動第一個計時器
            Timer timer1 = new Timer(1000); // 每隔1000毫秒(1秒)觸發一次
            timer1.Elapsed += OnTimerElapsed;
            timer1.Start();

            // 創建并啟動第二個計時器
            Timer timer2 = new Timer(2000); // 每隔2000毫秒(2秒)觸發一次
            timer2.Elapsed += OnTimerElapsed;
            timer2.Start();

            // 讓主程序運行一段時間,以便計時器有足夠的時間觸發事件
            Console.WriteLine("Press 'q' to quit.");
            while (Console.Read() != 'q') ;

            // 停止計時器
            timer1.Stop();
            timer2.Stop();
        }

        // 這個方法將在每個計時器的Elapsed事件中被調用
        static void OnTimerElapsed(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine($"Timer 1 elapsed at: {DateTime.Now}");
            Console.WriteLine($"Timer 2 elapsed at: {DateTime.Now}");
        }
    }
}

在這個示例中,我們創建了兩個計時器timer1timer2,它們分別每隔1秒和2秒觸發一次。我們將它們的Elapsed事件處理程序設置為同一個名為OnTimerElapsed的方法。當計時器觸發事件時,該方法將同時處理兩個計時器的Elapsed事件。

請注意,這個示例中的計時器是異步的,但它們的事件處理程序是同步執行的。這意味著當OnTimerElapsed方法被調用時,它將處理所有等待的計時器事件,然后繼續執行。因此,盡管計時器是異步的,但它們的事件處理程序會按照預期的順序執行。

0
阳东县| 栾川县| 永兴县| 宜兰县| 滦平县| 乐亭县| 东安县| 托克逊县| 略阳县| 淄博市| 轮台县| 湖北省| 正宁县| 安图县| 大英县| 彭阳县| 六安市| 栖霞市| 宁国市| 阳谷县| 滕州市| 延津县| 南汇区| 镇赉县| 麻城市| 章丘市| 滦南县| 澄迈县| 南安市| 呼图壁县| 蒲江县| 福鼎市| 黑龙江省| 琼中| 抚州市| 肇州县| 剑阁县| 东乌珠穆沁旗| 长丰县| 府谷县| 邢台市|