这里介绍C# CheckStatus()方法,以及介绍调用Timer.Dispose()方法删除了timer对象,主线程于是跳出循环,终止程序。
C#言语仍是比较常见的东西,这儿咱们首要介绍C# CheckStatus()办法,包括介绍设置一个守时器,守时履行用户指定的函数等方面。
Timer类:设置一个守时器,守时履行用户指定的函数。
守时器发动后,体系将主动树立一个新的线程,履行用户指定的函数。
- Timertimer=newTimer(timerDelegate,s,1000,1000);
- //***个参数:指定了TimerCallback托付,表明要履行的办法;
- //第二个参数:一个包括回调办法要运用的信息的目标,或许为空引证;
- //第三个参数:延迟时刻——计时开端的时刻距现在的时刻,单位是毫秒,
指定为“0”表明当即发动计时器;- //第四个参数:守时器的时刻距离——计时开端今后,每隔这么长的一段时刻,
TimerCallback所代表的办法将被调用一次,单位也是毫秒。
指定Timeout.Infinite能够禁用守时停止。
Timer.Change()办法:修正守时器的设置。(这是一个参数类型重载的办法)运用示例:timer.Change(1000,2000);
Timer类的程序示例:
- usingSystem;
- usingSystem.Threading;
- namespaceThreadExample
- {
- classTimerExampleState
- {
- publicintcounter=0;
- publicTimertmr;
- }
- classApp
- {
- publicstaticvoidMain()
- {
- TimerExampleStates=newTimerExampleState();
- //创立署理目标TimerCallback,该署理将被守时调用
- TimerCallbacktimerDelegate=newTimerCallback(CheckStatus);
- //创立一个时刻距离为1s的守时器
- Timertimer=newTimer(timerDelegate,s,1000,1000);
- s.tmr=timer;
- //主线程停下来等候Timer目标的停止
- while(s.tmr!=null)
- Thread.Sleep(0);
- Console.WriteLine("Timerexampledone.");
- Console.ReadLine();
- }
- //下面是被守时调用的办法
- staticvoidCheckStatus(Objectstate)
- {
- TimerExampleStates=(TimerExampleState)state;
- s.counter++;
- Console.WriteLine("{0}CheckingStatus{1}.",DateTime.Now.TimeOfDay,s.counter);
- if(s.counter==5)
- {
- //运用Change办法改变了时刻距离
- (s.tmr).Change(10000,2000);
- Console.WriteLine("changed");
- }
- if(s.counter==10)
- {
- Console.WriteLine("disposingoftimer");
- s.tmr.Dispose();
- s.tmr=null;
- }
- }
- }
- }
程序首要创立了一个守时器,它将在创立1秒之后开端每隔1秒调用一次C# CheckStatus()办法,当调用5次今后,在C# CheckStatus()办法中修正了时刻距离为2秒,而且指定在10秒后重新开端。当计数到达10次,调用Timer.Dispose()办法删除了timer目标,主线程所以跳出循环,停止程序。
【修改引荐】
- C# lock关键字叙说
- C#.Net FrameWork简介
- C# new和override简略描绘
- C#值类型和引证类型浅谈
- C#标识符简略剖析
转载请说明出处
知优网 » C# CheckStatus()办法(C#check)
知优网 » C# CheckStatus()办法(C#check)