不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦 > 學習英語 > 專業(yè)英語 > 計算機英語 > c中timer的用法

c中timer的用法

時間: 長思709 分享

c中timer的用法

  c中timer的用法的用法你知道嗎?下面小編就跟你們詳細介紹下c中timer的用法的用法,希望對你們有用。

  c中timer的用法的用法如下:

  關于C#中timer類 在C#里關于定時器類就有3個

  1.定義在System.Windows.Forms里

  2.定義在System.Threading.Timer類里

  3.定義在System.Timers.Timer類里

  System.Windows.Forms.Timer是應用于WinForm中的,它是通過Windows消息機制實現(xiàn)的,類似于VB或Delphi中的Timer控件,內部使用API SetTimer實現(xiàn)的。它的主要缺點是計時不精確,而且必須有消息循環(huán),Console Application(控制臺應用程序)無法使用。

  System.Timers.Timer和System.Threading.Timer非常類似,它們是通過.NET Thread Pool實現(xiàn)的,輕量,計時精確,對應用程序、消息沒有特別的要求。System.Timers.Timer還可以應用于WinForm,完全取代上面的Timer控件。它們的缺點是不支持直接的拖放,需要手工編碼。

  例:

  使用System.Timers.Timer類

  //實例化Timer類,設置間隔時間為10000毫秒;

  System.Timers.Timer t = new System.Timers.Timer(10000);

  //到達時間的時候執(zhí)行事件;

  t.Elapsed += new System.Timers.ElapsedEventHandler(theout);

  t.AutoReset = true;//設置是執(zhí)行一次(false)還是一直執(zhí)行(true);

  t.Enabled = true;//是否執(zhí)行System.Timers.Timer.Elapsed事件;

  ====================================

  自己寫的一個用System.Timer類的方法

  復制代碼 代碼如下:

  public class BF_CheckUpdate

  {

  private static object LockObject = new Object();

  // 定義數(shù)據(jù)檢查Timer

  private static Timer CheckUpdatetimer = new Timer();

  // 檢查更新鎖

  private static int CheckUpDateLock = 0;

  ///

  /// 設定數(shù)據(jù)檢查Timer參數(shù)

  ///

  internal static void GetTimerStart()

  {

  // 循環(huán)間隔時間(10分鐘)

  CheckUpdatetimer.Interval = 600000;

  // 允許Timer執(zhí)行

  CheckUpdatetimer.Enabled = true;

  // 定義回調

  CheckUpdatetimer.Elapsed += new ElapsedEventHandler(CheckUpdatetimer_Elapsed);

  // 定義多次循環(huán)

  CheckUpdatetimer.AutoReset = true;

  }

  ///

  /// timer事件

  ///

  ///

  ///

  private static void CheckUpdatetimer_Elapsed(object sender, ElapsedEventArgs e)

  {

  // 加鎖檢查更新鎖

  lock (LockObject)

  {

  if (CheckUpDateLock == 0) CheckUpDateLock = 1;

  else return;

  }

  //More code goes here.

  //具體實現(xiàn)功能的方法

  Check();

  // 解鎖更新檢查鎖

  lock (LockObject)

  {

  CheckUpDateLock = 0;

  }

  }

  }

熱門文章

542974