using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApp14
{
class Program
{
static void Main(string[] args)
{
//当一个类被实例化后,该类的静态变量也会被启动,于此可以设置定时器启动
MTimer mt = new MTimer();
Console.ReadKey();
}
}
class MTimer
{
//首先延迟5秒调用回调函数,以后每间隔1秒回调一次
static Timer r = new Timer(Print, "msheng", 5000, 1000);
//所有回调函数的参数必须是object,线程定时器Timer的回调函数还必须是static的
static void Print(object o)
{
string str = (string)o;
Console.WriteLine(str);
}
}
}
当Timer位于一个静态类中时,只要静态类中的任意一个方法被调用,定时器也会被启动。若不调用静态类中的方法,则定时器不会被启动
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApp14
{
class Program
{
static void Main(string[] args)
{
//当一个类被实例化后,该类的静态变量也会被启动,于此可以设置定时器
MTimer.ShowMsg("");//5s后定时器仍然会启动
Console.ReadKey();
}
}
static class MTimer
{
//首先延迟5秒调用回调函数,以后每间隔1秒回调一次
static Timer r = new Timer(Print, "msheng", 5000, 1000);
//所有回调函数的参数必须是object,线程定时器Timer的回调函数还必须是static的
static void Print(object o)
{
string str = (string)o;
Console.WriteLine(str);
}
public static void ShowMsg(string msg)
{
Console.WriteLine("Timer is to start in 5 seconds...");
}
}
}