找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 7532|回复: 2

ACE_Time_Value的问题

[复制链接]
发表于 2009-7-22 14:34:31 | 显示全部楼层 |阅读模式
我现在想用ACE_OS::sleep做微妙级的延时,所以用ACE_Time_Value val(0, 100)做参数调用sleep。可是发现延时的时间不准确。后来有做了一个实验,发现ACE_Time_Value val(0, 100)不是100微妙。不知道是为什么。见下边程序。
        
        ACE_Time_Value val(0, 100);
        s = ::GetTickCount();
       
        for(i = 0; i < 100000; i++)
        {
                ACE_OS::sleep(val);
        }

        e = ::GetTickCount();
        ACE_DEBUG((LM_INFO, _T("%d-%d=%d\n"), e, s, e-s));

理论上说这个程序应该10秒后退出的,可是非常快就退出了。然后更改val的值,val(0, 1000),这回半天都退不出来。这是为什么呢?
发表于 2009-7-22 19:54:28 | 显示全部楼层

回复 #1 front_windy 的帖子

是否机器只达到毫秒级分辨率?
发表于 2009-7-23 13:40:01 | 显示全部楼层
ACE_High_Res_Timer
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-23 00:05 , Processed in 0.016794 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表