我用.net2.0 C#做服务,服务里边有5个 System.timer.Timer ,设置一定的间隔时间。 发现 总有的Timer
我用.net2.0C#做服务,服务里边有5个System.timer.Timer,设置一定的间隔时间。发现总有的Timer到了时间不执行...
我用.net2.0 C#做服务,服务里边有5个 System.timer.Timer ,设置一定的间隔时间。 发现 总有的Timer 到了时间不执行
展开
5个回答
展开全部
如果是只执行一次的话是说明没有设置aTimer.AutoReset = true;
如果是时间间隔不准确的话是正常的,timer不是一个精准定时器;
以下来自msdn:
当编写 Timer 组件时,需要考虑 Interval 属性的几点限制:
如果应用程序或另一个应用程序对系统需求很大(如长循环、大量的计算或驱动程序、网络或端口访问),那么应用程序可能无法以 Interval 属性指定的频率来获取计时器事件。
间隔可以在 1 和 64,767 之间(包括 1 和 64,767),这意味着即使最长的间隔(大约 64.8 秒)也不会超过一分钟很多。
不能保证间隔所精确经过的时间。若要确保精确,计时器应根据需要检查系统时钟,而不是尝试在内部跟踪所积累的时间。
系统每秒生成 18 个时钟刻度,因此即使 Interval 属性以毫秒为单位,间隔的实际精度也不会超过十八分之一秒。
希望对你有所帮助。
如果是时间间隔不准确的话是正常的,timer不是一个精准定时器;
以下来自msdn:
当编写 Timer 组件时,需要考虑 Interval 属性的几点限制:
如果应用程序或另一个应用程序对系统需求很大(如长循环、大量的计算或驱动程序、网络或端口访问),那么应用程序可能无法以 Interval 属性指定的频率来获取计时器事件。
间隔可以在 1 和 64,767 之间(包括 1 和 64,767),这意味着即使最长的间隔(大约 64.8 秒)也不会超过一分钟很多。
不能保证间隔所精确经过的时间。若要确保精确,计时器应根据需要检查系统时钟,而不是尝试在内部跟踪所积累的时间。
系统每秒生成 18 个时钟刻度,因此即使 Interval 属性以毫秒为单位,间隔的实际精度也不会超过十八分之一秒。
希望对你有所帮助。
展开全部
Timer不是那么准一定按间隔时间执行的,如果服务太忙,它就会被延迟
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每次都是不同的timer控件不执行麽?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
断点看看执行了没。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么说很难解决,要么把全部代码贴上来看,最简单的方法是你自己debug一下,走到哪步不执行你自己看下就明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询