c中timer的用法
c中timer的用法的用法你知道嗎?下面小編就跟你們詳細介紹下c中timer的用法的用法,希望對你們有用。
c中timer的用法的用法如下:
關於C#中timer類 在C#裏關於定時器類就有3個
1.定義在s裏
2.定義在r類裏
3.定義在r類裏
r是應用於WinForm中的,它是通過Windows消息機制實現的,類似於VB或Delphi中的Timer控件,內部使用API SetTimer實現的。它的主要缺點是計時不精確,而且必須有消息循環,Console Application(控制枱應用程序)無法使用。
r和r非常類似,它們是通過 Thread Pool實現的,輕量,計時精確,對應用程序、消息沒有特別的要求。r還可以應用於WinForm,完全取代上面的Timer控件。它們的缺點是不支持直接的拖放,需要手工編碼。
例:
使用r類
r t = new r(10000);
//到達時間的時候執行事件;
sed += new sedEventHandler(theout);
Reset = true;//設置是執行一次(false)還是一直執行(true);
led = true;//是否執行sed事件;
====================================
自己寫的一個用r類的方法
複製代碼 代碼如下:
public class BF_CheckUpdate
{
private static object LockObject = new Object();
// 定義數據檢查Timer
private static Timer CheckUpdatetimer = new Timer();
// 檢查更新鎖
private static int CheckUpDateLock = 0;
///
/// 設定數據檢查Timer參數
///
internal static void GetTimerStart()
{
// 循環間隔時間(10分鐘)
rval = 600000;
// 允許Timer執行
led = true;
// 定義回調
sed += new ElapsedEventHandler(CheckUpdatetimer_Elapsed);
// 定義多次循環
Reset = true;
}
///
/// timer事件
///
///
///
private static void CheckUpdatetimer_Elapsed(object sender, ElapsedEventArgs e)
{
// 加鎖檢查更新鎖
lock (LockObject)
{
if (CheckUpDateLock == 0) CheckUpDateLock = 1;
else return;
}
//More code goes here.
//具體實現功能的方法
Check();
// 解鎖更新檢查鎖
lock (LockObject)
{
CheckUpDateLock = 0;
}
}
}