使用System.Timers.Timer类

来源:互联网 发布:淘宝任务发布平台 编辑:程序博客网 时间:2024/06/05 16:10
使用System.Timers.Timer类 : 
System.Timers.Timer t = new System.Timers.Timer(10000);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件;theout为要执行的函数
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true); 

t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;


注意事项: 

1 在有多个timer时,类似于多个线程;多线程下如果同时操作一个文件为发生资源争抢的情况,这个时候需要考虑对资源加锁,例如创建一个lock文件,当资源被一个线程访问时,线程先判断该文件是否存在,如果存在就等待,如果不存在就创建该文件执行数据操作,完成之后删除此lock文件;下个线程访问同上

2 单个计时器在执行时,可能会存在这次任务未执行完,下个任务又开始执行的情况;这个时候就需要在计时器到达执行时间时,在执行函数里面暂停此计时器的计时,等次函数执行完毕,再开启此计时器;

0 0