System.Timer,通常执行正常。但是在系统资源(CPU)占用比较厉害的时候,有可能System.Timer.Enabled=true后,并不产生作用。
也有可以执行几次后,就不再执行了。出现在几率大概在0.5%左右我的程序中还有Form.Timer,现在用Form.Timer附带做了对此System.timer的监视,发现问题,则写日志,并执行:System.Timer.Enabled=false
System.Timer.Enabled=true;暂时避免了此BUG带来的不良影响,正在测试发生此种问题的根源,以找到更好的方式来避免。但是,还不知道form.timer是否也会存在这种BUG,目前我还没有遇到过。有没有遇到类式问题的朋友???? 给点参考意见啊两天之内,无论如何,结贴,希望在结贴之前能有更好的处理方案
也有可以执行几次后,就不再执行了。出现在几率大概在0.5%左右我的程序中还有Form.Timer,现在用Form.Timer附带做了对此System.timer的监视,发现问题,则写日志,并执行:System.Timer.Enabled=false
System.Timer.Enabled=true;暂时避免了此BUG带来的不良影响,正在测试发生此种问题的根源,以找到更好的方式来避免。但是,还不知道form.timer是否也会存在这种BUG,目前我还没有遇到过。有没有遇到类式问题的朋友???? 给点参考意见啊两天之内,无论如何,结贴,希望在结贴之前能有更好的处理方案
Timer需要Message来响应,即是被动触发,当系统cpu资源紧张的时候,就会出现你上面的现象。
1、timer在start之后,一次事件都不触发
2、timer在start之后,触发几次之后,就不再触发事件了这就是我以前完全没有考虑到的问题。 现在的程序中有十多个System.Timer,全部用保护代码做重启动timer处理,代码量还是比较大的。打算先写的个循环测试System.timer开启的程序,看看有无办法在开timer时的代码方面做一些改动,杜绝这种情况的发生。现在手动一次一次开程序测试,面对差不多0.5%的出错记录,今天下午点鼠标都要点疯了:(