【发布时间】:2011-08-22 16:21:23
【问题描述】:
为了分析并发程序中的某些事件,我需要生成时间戳。到目前为止,我使用了clock_gettime,但我遇到了一些问题,其中一些是由于时钟不同造成的。
对于CLOCK_REALTIME,生成的时间戳似乎与事件的实际顺序不匹配,这意味着映射到事件的结果时间戳没有任何意义。
对于CLOCK_THREAD_CPUTIME_ID 和CLOCK_PROCESS_CPUTIME_ID,时间戳的顺序是有意义的,但我预计这种行为来自CLOCK_REALTIME,而不是依赖于线程/进程的时钟版本。此外,手册页指出,SMP 系统上可能存在虚假结果,我看不到。
我的问题是clock_gettime 是否有替代品,如果没有,我该如何解决我对可用系统时钟的误解?
【问题讨论】: