c 语言 毫秒延时

来源:百度知道 编辑:UC知道 时间:2024/05/08 15:32:54
要求不要使用循环等待,不受 CPU 的频率限制。
sleep() 的单位是秒啊,怎么让单位为 10 毫秒;

用TC 行吗?

32位系统的Windows,sleep()最小单位是10毫秒,不能再小,一般用循环做比较好,但时刻监视时间的函数是GetTickCount(),这只要循环中不断判断出口条件就行(出口条件,对子线程来说应该是同步对象;对单线程程序则可以是变量,不过循环中必须接管消息循环的工作)。

用这样的循环做,坏处只是不能节省CPU时间(sleep是挂起等待的),但一般这差别不值得关注,精度是最重要的

sleep()
单位是秒

用一个空的循环语句就可以了,比如:
for(i=1;i<=1;i++);

如果用MFC的话可以用Timer加计数器来实现,Timer的间隔可以是1ms