欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中timer類的用法總結

 更新時間:2013年10月22日 10:08:20   作者:  
System.Windows.Forms.Timer是應用于WinForm中的,它是通過Windows消息機制實現(xiàn)的,類似于VB或Delphi中的Timer控件,內(nèi)部使用API SetTimer實現(xiàn)的。它的主要缺點是計時不精確,而且必須有消息循環(huán)

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控件,內(nèi)部使用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;
             // 定義回調(diào)
             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;
             }           
         }
       }

相關文章

最新評論