文章目录
在 Java/JS 中获取时间非常简单(System.currentTimeMillis()
System.nanoTime();
new Date().getTime()
等等),在 C/C++ 中则略微复杂一点。
今天我们就来了解下,Linux C 编程中,时间相关的概念和获取方式。
Linux 时间的相关知识
UNIX 系统使用从 1970 年 1 月 1 日 零点零分以来,经过的时间,作为绝对时间。
也就是说,在 UNIX 系统中,绝对时间也是相对的。
软件时钟:内核初始化,特定频率的计数器,一个计时器间隔叫做一个 tick 或 jiffy。UNIX 系统中,系统计时频率被称为 HZ。
HZ 具体多大,是和体系结构相关的,在 x86 上,该值为 100,也就是一秒钟运行 100次;于是一个间隔 jiffy 就等于 1/100 秒。
获取当前设备的 tck (每秒多少次):
void get_tick() {
long hz = sysconf(_