ACE_Time_Value的问题
我现在想用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),这回半天都退不出来。这是为什么呢?
回复 #1 front_windy 的帖子
是否机器只达到毫秒级分辨率? ACE_High_Res_Timer
页:
[1]