c#中timer类的用法
关于c#中timer类 在c#里关于定时器类就有3个
1.定义在system.windows.forms里
2.定义在system.threading.timer类里
3.定义在system.timers.timer类里
system.windows.forms.timer是应用于winform中的,它是通过windows消息机制实现的,类似于vb或delphi中的timer控件,内部使用api settimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,console application(控制台应用程序)无法使用。
system.timers.timer和system.threading.timer非常类似,它们是通过.net thread pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。system.timers.timer还可以应用于winform,完全取代上面的timer控件。它们的缺点是不支持直接的拖放,需要手工编码。
例:
使用system.timers.timer类
//实例化timer类,设置间隔时间为10000毫秒;
system.timers.timer t = new system.timers.timer(10000);
//到达时间的时候执行事件;
t.elapsed += new system.timers.elapsedeventhandler(theout);
t.autoreset = true;//设置是执行一次(false)还是一直执行(true);
t.enabled = true;//是否执行system.timers.timer.elapsed事件;
====================================
自己写的一个用system.timer类的方法
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分钟)
checkupdatetimer.interval = 600000;
// 允许timer执行
checkupdatetimer.enabled = true;
// 定义回调
checkupdatetimer.elapsed += new elapsedeventhandler(checkupdatetimer_elapsed);
// 定义多次循环
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.
//具体实现功能的方法
check();
// 解锁更新检查锁
lock (lockobject)
{
checkupdatelock = 0;
}
}
}
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
C#实现猜数字游戏
本文实例为大家分享了c#实现猜数字游戏具体代码,供大家参考,具体内容如下给定一个0-100的随机数字猜其大小题目样式:电脑产生一个0到100之间的随机数字,并且...
[阅读全文]
-
-
C# 可空类型的具体使用
在项目中我们经常会遇到可为空类型,那么到底什么是可为空类型呢?下面我们将从4个方面为大家剖析。1、可空类型基础知识顾名思义,可空类型指的就是某个对象类型可以为空...
[阅读全文]
-
-
-
C#实现猜数字小游戏
本文实例为大家分享了c#实现猜数字小游戏的具体代码,供大家参考,具体内容如下效果如图:代码:using system;using system.collecti...
[阅读全文]
-
-
C#实现简单俄罗斯方块
最近在看《.net游戏编程入门经典 c#篇》 第一章介绍了如何制作俄罗斯方块,自己试了试按照书上的步骤,可算是完成了。于是写下这篇文章留作纪念。1.类的设计在充...
[阅读全文]
-
-
网友评论