C# - 計時器Timer

來源:互聯網
上載者:User

標籤:回調   hang   call   port   sys   佔用   ted   託管   wait   

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();  // 啟動Timerpublic void Stop();   // 停止Timerpublic 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);    

 

C# - 計時器Timer

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.