System.Timers.Timer
服務器計時器,允許指定在應用程序中引發事件的重復時間間隔。
using System.Timers;
// 在應用程序中生成定期事件
public class Timer : Component, ISupportInitialize {
public double Interval { get; set; }
public bool Enabled { get; set; } // 開始/停止引發事件Elapsed
public Timer();
public Timer(double interval);
public void Start(); // 啟動Timer
public void Stop(); // 停止Timer
public void Close(); // 關閉Timer並釋放其占用的資源
// 釋放當前Timer使用的所有資源
// true:釋放托管資源和非托管資源;false:僅釋放非托管資源
protected override void Dispose(bool disposing);
public event ElapsedEventHandler Elapsed;
}
其中, public delegate void ElapsedEventHandler(object sender, ElapsedEventArgs e);
使用示例:
// 定時觸發OnEventClick函數 System.Timers.Timer MyTimer = new System.Timers.Timer(); MyTimer.Elapsed += OnEventClick; MyTimer.Interval = 3 * 1000; MyTimer.Enabled = true;
System.Threading.Timer
線程計時器,允許在線程池線程上執行回調方法。
using System.Timers;
// 提供以指定的時間間隔執行方法的機制
public sealed class Timer : MarshalByRefObject, IDisposable {
public Timer(TimerCallback callback);
public Timer(TimerCallback callback, object state, xxx);
public bool Change(int dueTime, int period);
public void Dispose(); // 釋放當前Timer實例使用的所有資源
public bool Dispose(WaitHandle notifyObject); // 同時釋放信號
}
其中, public delegate void TimerCallback(object state);
