C++线程等待时间

问题描述:

有没有办法让一个线程已经到达等待(在C++/windows中)? (我以前问过关于工作时间,但获得等待时间会更好:))C++线程等待时间

使用GetThreadTimes是不够的,因为我需要一个高resultion(方式优于100微秒,更多地朝着5-10微秒甚至更短。

  1. 呼叫GetThreadTimes()。
  2. 加在一起的内核时间和用户时间。
  3. 减去创作时间从现在开始。
  4. 减值从在步骤2中在步骤3中找到你有你的答案。
+0

是的,我想到了这一点,但我需要一个比GetThreadTimes(100微秒)更高的资源。此外,这种方法会对我暂停线程和“现在”之间的时间产生偏差,可能会有几微秒,我希望避免它。 :) – Idov 2011-04-04 18:30:21

+2

GetThreadTimes分辨率为100纳秒(= 0.1微秒)。尽管这并不能保证精确到100纳秒。我不确定在Windows下是否存在具有这种精度的_any_可靠定时器,至少除非你说“最新的处理器世代中只有Windows 7”(分辨率不一定是精度)。 – Damon 2011-04-04 18:39:13

+0

太棒了!我不知道我是如何看到100 * micro *分辨率的。谢谢 :) – Idov 2011-04-04 18:43:54