溫馨提示×

C#中輪詢是否支持動態間隔

c#
小樊
93
2024-08-13 21:58:40
欄目: 編程語言

在C#中,可以使用System.Threading.Timer類來實現輪詢操作。該類可以設置時間間隔,并在指定的時間間隔后執行指定的方法。

在Timer類的構造函數中可以指定時間間隔,并且在回調函數中可以根據需要動態改變時間間隔。例如,可以在回調函數中根據某些條件來決定下一次輪詢的時間間隔。

using System;
using System.Threading;

class Program
{
    static Timer timer;

    static void Main()
    {
        timer = new Timer(TimerCallback, null, 0, 1000); // 1秒鐘輪詢一次

        Console.ReadLine();
    }

    static void TimerCallback(object state)
    {
        Console.WriteLine(DateTime.Now);

        // 根據某些條件來決定下一次輪詢的時間間隔
        if (someCondition)
        {
            timer.Change(2000, Timeout.Infinite); // 2秒鐘后再次輪詢
        }
        else
        {
            timer.Change(1000, Timeout.Infinite); // 1秒鐘后再次輪詢
        }
    }
}

在回調函數中,可以使用Timer類的Change方法來動態修改時間間隔。Change方法接受兩個參數,第一個參數表示下一次輪詢的間隔時間,第二個參數表示取消當前的輪詢操作。通過在回調函數中動態改變時間間隔,可以實現動態間隔的輪詢操作。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女