游戏服务器和其他服务器不同,往往需要执行一些“每隔N秒执行一次”的事项,后面的文章会提到的“心跳检测”,便需要定时器。
下面的是一个简单的额定时器的源码,功能是每隔1秒打印一行文本。
using System;
using System.Timers;
class MainClass
{
public static void Main (string [] args)
{
Timer timer = new Timer();
timer.AutoReset = true;
timer.Interval = true;
timer.Elapsed += new ElapsedEventHandler (Tick);
timer.Start ();
Console.Read ();
}
public static void Tick (object sender,System.Timers.ElapsedEventArgs e)
{
Console.WriteLine (" 每一秒执行一次");
}
}
属性和方法 | 说明 |
---|---|
Start () | 通过将Enable设置为true开始引发事件 |
Stop () | 通过将Enable设置为false停止引发事件 |
Close () | 释放由Timer占用的资源 |
AutoReset () | 指示Timer是应在每次指定的事件间隔结束时重启 |
Enabled | 该值指示Timer是否应引发事件 |
Interval | 获取或设置引发事件的间隔时间,单位为毫秒 |
Timers的一些属性和方法
属性和方法 | 说明 |
---|---|
Start () | 通过将Enable设置为true开始引发事件 |
Stop () | 通过将Enable设置为false停止引发事件 |
Close () | 释放由Timer占用的资源 |
AutoReset () | 指示Timer是应在每次指定的事件间隔结束时重启 |
Enabled | 该值指示Timer是否应引发事件 |
Interval | 获取或设置引发事件的间隔时间,单位为毫秒 |