C# - 計時器Timer


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);    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM