久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C#中timer類的用法

 junshuai103 2014-11-22
關(guān)于C#中timer類  在C#里關(guān)于定時(shí)器類就有3個(gè)  
1.定義在System.Windows.Forms里  
2.定義在System.Threading.Timer類里  
3.定義在System.Timers.Timer類里 

System.Windows.Forms.Timer是應(yīng)用于WinForm中的,它是通過Windows消息機(jī)制實(shí)現(xiàn)的,,類似于VB或Delphi中的Timer控件,,內(nèi)部使用API  SetTimer實(shí)現(xiàn)的。它的主要缺點(diǎn)是計(jì)時(shí)不精確,,而且必須有消息循環(huán),,Console  Application(控制臺應(yīng)用程序)無法使用。  
 
System.Timers.Timer和System.Threading.Timer非常類似,,它們是通過.NET  Thread  Pool實(shí)現(xiàn)的,,輕量,計(jì)時(shí)精確,,對應(yīng)用程序,、消息沒有特別的要求。System.Timers.Timer還可以應(yīng)用于WinForm,,完全取代上面的Timer控件,。它們的缺點(diǎn)是不支持直接的拖放,需要手工編碼,。

例:
使用System.Timers.Timer類
//實(shí)例化Timer類,,設(shè)置間隔時(shí)間為10000毫秒;
System.Timers.Timer t = new System.Timers.Timer(10000);
//到達(dá)時(shí)間的時(shí)候執(zhí)行事件,;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);
t.AutoReset = true;//設(shè)置是執(zhí)行一次(false)還是一直執(zhí)行(true),;
t.Enabled = true;//是否執(zhí)行System.Timers.Timer.Elapsed事件;

====================================
自己寫的一個(gè)用System.Timer類的方法

 1 public class BF_CheckUpdate
 2     {
 3         private static object LockObject = new Object();
 4 
 5         // 定義數(shù)據(jù)檢查Timer
 6         private static Timer CheckUpdatetimer = new Timer();
 7 
 8         // 檢查更新鎖
 9         private static int CheckUpDateLock = 0;
10 
11         ///
12         /// 設(shè)定數(shù)據(jù)檢查Timer參數(shù)
13         ///
14         internal static void GetTimerStart()
15         {
16             // 循環(huán)間隔時(shí)間(10分鐘)
17             CheckUpdatetimer.Interval = 600000;
18             // 允許Timer執(zhí)行
19             CheckUpdatetimer.Enabled = true;
20             // 定義回調(diào)
21             CheckUpdatetimer.Elapsed += new ElapsedEventHandler(CheckUpdatetimer_Elapsed);
22             // 定義多次循環(huán)
23             CheckUpdatetimer.AutoReset = true;
24         }
25 
26         ///
27         /// timer事件
28         ///
29         ///
30         ///
31         private static void CheckUpdatetimer_Elapsed(object sender, ElapsedEventArgs e)
32         {
33            // 加鎖檢查更新鎖
34             lock (LockObject)
35             {
36                 if (CheckUpDateLock == 0) CheckUpDateLock = 1;
37                 else return;
38             }         
39           
40            //More code goes here.
41           //具體實(shí)現(xiàn)功能的方法
42            Check();
43               // 解鎖更新檢查鎖
44             lock (LockObject)
45             {
46                 CheckUpDateLock = 0;
47             }            
48         }
49 }

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多