asp.net 线程Thread定时器Timer的使用
asp.net 线程Thread定时器Timer的使用
Timer在两个类中存在System.Threading和System.Timers,这两天使用的是第一个。
Timer定时器在.net中的线程池中运行。
线程
//创建一个线程
Thread t=new Thread(enterPoint);
Thread t=new Thread(new ThreadStart(methodName));
//关闭线程
t.Abort();
//让当前线程休眠1000 毫秒
Thread.Sleep(1000);
定时器
System.Timers.Timer t = new System.Timers.Timer(10000); //实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(这里是执行的方法); //到达时间的时候执行事件;
t.AutoReset = true; //设置是执行一次(false)还是一直执行(true);
t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件;
案例
//创建一个线程,执行SmsManager.SmsOper方法
Thread thread = new Thread(new ThreadStart(SmsManager.SmsOper));//创建线程
thread.Start(); //启动线程
//类 SmsManager
//启动定时器,每五分钟执行方法一次
public class SmsManager
{
public static void SmsOper() {
try
{
Timer tmr = new Timer(1000 * 60 * 5);//5分钟一个循环
tmr.Elapsed += delegate
{
StarSms();//要执行的方法
};
tmr.Start();
StarSms();//要执行的方法
}
catch (Exception e)
{
}
}
}