Thread.sleep的精度问题 thread.sleep

Sleep()这个函数可以让线程睡眠一段时间,而后继续执行,参数是毫秒。

但是我们会发现,当毫秒数过小时,Sleep往往不能按照给定的时间睡眠,而是睡了长了一点的时间,这是由于Sleep函数的精度导致的,一般的系统默认的精度是10毫秒,也就是说,如果参数小于10,那么Sleep的时间可能是10,或者更多,系统尽量以10毫秒为精度保证时间准确,这对于高精度的程序来说明显不足,系统时钟clock()函数也存在类似问题。比如一个图形程序希望每秒帧数达到600,却不希望占用100%CPU,那么希望在主循环中适当加入Sleep(1),这种需求。

解决办法就是在程序初始化时执行timeBeginPeriod(1);来设置系统时钟精度。其中的1表示1毫秒,这样基本上可以精确到Sleep(1)的程度。

不过别忘了在程序销毁之前执行timeEndPeriod(1);以恢复系统时钟精度。

Thread.sleep()使当前线程的执行暂 停一段指定的时间,

Sleep 有两个重载的版本,一个以毫秒指定睡眠时间,另一个以纳秒指定睡眠时间,
但并不保证这些睡眠时间的精确性,因为他们受到系统计时器和调度程序精度和准确性的影响。
Thread.sleep的精度问题 thread.sleep
另外中断(interrupt)可以终止睡眠时间,
在任何情况下,都不能假设调用 sleep就会按照指定的时间精确的挂起线程。

http://mopishv0.blog.163.com/blog/static/544559322011017104255679/

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/274696.html

更多阅读

四快学习法的价格问题

四快学习法的价格问题——简介随着现在的四快学习法的逐渐在我国的各个区域市场的畅销,很多的学生家长都开始积极地关注到这样的热门的教辅材料,因为很多人都想要了解到四快学习法的神奇之处,想要知道为什么简单的教辅方法就能够改

win7环境下红色警戒2的联网问题 红色警戒联网平台

win7环境下红色警戒2的联网问题——简介红警2是个很老的游戏了,与现在的主流win7系统有些冲突。虽然能玩一下单机游戏,但是不能连接局域网。如果你有此类麻烦,来这儿就对了。win7环境下红色警戒2的联网问题——工具/原料

申请韩国签证时的常见问题 美国签证常见问题

韩国旅游发展局广州办事处将于1月30日下午邀请大韩民国驻广州总领事馆签证科相关负责人,在3-5点将与大家共同探讨韩国旅游签证问题,实现一对一咨询解答。现先发布一些申请签证时的常见问题,方便各位亲们参考。1. 本人直接到领事馆申请

盈亏平衡点的相关问题 饲料销售的盈亏平衡点

盈亏平衡点的相关问题一、盈亏平衡点图的结构  尽管盈亏平衡点图所依据的理论很简单,但是,因为固定成本和可变成本之间的界线是不明确的,因而要获得绘图时的理想数据却不那么容易。如果我们把不经调查就随意进行的分类看作是有效的,

声明:《Thread.sleep的精度问题 thread.sleep》为网友会唱歌的小包子分享!如侵犯到您的合法权益请联系我们删除