题
Linux / Unix / Posix是否为用户空间应用程序提供API以访问单调增加的时钟,精度为厘秒到毫秒?
在Linux上,/ proc / uptime提供了一个基于字符串的表示形式,表示系统已启动的秒数的浮点数。
gettimeofday(2)不提供单调增加的时钟。
我可以在ITIMER_REAL时域中使用getitimer(2),将定时器设置为以(平台相关的)最大值开始并忽略生成的信号,但根据手册页,定时器可以运行的最长时间约为100天,比我预期的运行时间短。
解决方案
将POSIX clock_gettime()
函数与 CLOCK_MONOTONIC
一起使用。有关详细信息,请参阅手册页。
其他提示
有clock_gettime:
struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
不隶属于 StackOverflow