公司的一个项目中要用到timer。这个 timer设置的长度是40ms,最初的作用是用来刷新界面。后来增加了5分钟和服务器交互一次的需求,于是仍使用这个timer,在timer次数累加到7500时和服务器交互。可是测试中发现,实际的交互时间间隔是近6分钟,一直很困惑,因为交互的时间一般不到一秒。
后来查资料做实验找到了原因:在NT下timer的分辨率是15.6毫秒左右,所以设置的40ms的timer实际上是47ms响应一次,0.047s*7500=352.5s,正好是近6分钟
公司的一个项目中要用到timer。这个 timer设置的长度是40ms,最初的作用是用来刷新界面。后来增加了5分钟和服务器交互一次的需求,于是仍使用这个timer,在timer次数累加到7500时和服务器交互。可是测试中发现,实际的交互时间间隔是近6分钟,一直很困惑,因为交互的时间一般不到一秒。
后来查资料做实验找到了原因:在NT下timer的分辨率是15.6毫秒左右,所以设置的40ms的timer实际上是47ms响应一次,0.047s*7500=352.5s,正好是近6分钟