有什么办法能使我,不用Timer控件得情况下,可以在1小时激发一次事件?
日期:2006-04-17 荐:
有什么办法能使我,不用Timer控件得情况下,可以在1小时激发一次事件?RT不用Timer做计时,可以实现这个吗?UNKNOEN呢不过要是只要求不用TIMER控件的话,可以用TIMER类吧??反正我也不熟,只是提提意见了,哈哈等高手来给答案ING我只会用timer....TimerCallback timerDelegate = new TimerCallback(DeleteThread);//一分钟执行一次Timer timer = new Timer(timerDelegate,null,0, 600000);public void DeleteThread(Object state){}那就把时间设置一小时的 毫秒数啊!我就奇怪,明明用Timer很容易实现的东西,为什么不用要不你就去循环吧,定个初始时间循环过程中比较当前时间和初始时间差,如果相差为1小时,则激发Thread.Sleep(3600 * 1000)timer有什么不好吗using System;using System.Threading;public delegate void MyEventHandler();public class MyTimer:IDisposable{ public event MyEventHandler myEvent; private Thread thread = null; public MyTimer() { ThreadStart ts = new ThreadStart(this.ThreadFunc); this.thread = new Thread(ts); this.thread.Start(); } public void Dispose() { try { this.thread.Abort(); } catch { } finally { this.thread = null; } } private void ThreadFunc() { while(true) { Thread.Sleep(1000 * 60 * 60); this.myEvent(); } }}可以使用多线程和事件机制来实现。(如上)开个线程死循环,保存它每次运行的时间,在线程里面判断时间是否合适
标签: