timeval
和 timespec
都是用來表示時間的結構體,但在Linux中,timespec
更常用于表示時間,而timeval
則是一個舊的結構體,逐漸被timespec
取代。
主要區別如下:
timeval
結構體包含了兩個成員變量:tv_sec
表示秒數,tv_usec
表示微秒數。而 timespec
結構體也包含了兩個成員變量:tv_sec
表示秒數,tv_nsec
表示納秒數。
timeval
結構體的成員變量的類型是 long
,而 timespec
結構體的成員變量的類型是 time_t
和 long
。
timeval
結構體可以表示的最大時間范圍為約 71 分鐘,而 timespec
結構體可以表示更長的時間范圍。
綜上所述,timespec
結構體更加靈活和精確,因此在Linux系統中更常用于表示時間。