我做的监控程序作用是可以设置每天程序重启或停止的时间。用一个Timer24小时扫描,到点就做相应的功能。
界面用的是DataGridView,每一行都是一个程序,每个程序都有一个Manager管理Timer。
我是在新加一个Row时,New一个Manager,然后在Manager的构造函数里启动一个全程Timer,用来检查到没到启动时间或者停止时间。
出现的问题是:运行的时间长了,偶尔会发生功能失效的情况,就是没有重启或停止。
想问问大家,有没有这样的类似的经验,教教我。谢谢大家。
界面用的是DataGridView,每一行都是一个程序,每个程序都有一个Manager管理Timer。
我是在新加一个Row时,New一个Manager,然后在Manager的构造函数里启动一个全程Timer,用来检查到没到启动时间或者停止时间。
出现的问题是:运行的时间长了,偶尔会发生功能失效的情况,就是没有重启或停止。
想问问大家,有没有这样的类似的经验,教教我。谢谢大家。
if(!m_bIsStart && DateTime.Now.ToString("HH:mm:ss")>="12:57:20")
{ …… }
m_bIsStart表示进程是否已启动,每个被监控的进程对应一个m_bIsStart。
12:57:20到第二天零点一直会做,这肯定不是你想要的吧。如果不会,做完一次后 !m_bIsStart = false,那当然就不会再做了。
LS的建议不错,我会去试一下,时间是自己输入的,在cell里面,可以取到。
我原本以为启动一个程序对电脑来说不费什么时间,现在看看根据你的建议用异步试试。