实例化一个timer:
// 每5分钟执行一次,每次执行的间隔毫秒时长
System.Timers.Timer timer = new System.Timers.Timer(5*60*1000);
为timer设置事件和任务循环回调方法:
//到达时间的时候执行事件
timer.Elapsed += new System.Timers.ElapsedEventHandler(TimerTask);
//设置是执行一次(false)还是一直执行(true)
timer.AutoReset = true;
//是否执行System.Timers.Timer.Elapsed事件
timer.Enabled = true;
回调任务方法:
public void TimerTask(object source, System.Timers.ElapsedEventArgs e)
{
lock(this)
{
Console.WriteLine("Execute timer task ....start....");
// 有动态就删除动态,没有则据此关闭相应的播放线程
if (listView.Items.Count > 0)
{
RemoveData();// 移除掉事件记录
}
else
{
ucVideo.StopAll();// 关闭所有实时视频
timer.Enabled = false;// 关闭timer
}
Console.WriteLine("Execute timer task ....completed!");
}
}