linux“clock()”函数是否在进程的“睡眠”时间内计数?

时间:2017-02-03 12:55:14

标签: linux function time process clock

我称之为“睡眠”功能,但似乎没有真正计算过,如下:

#include<iostream>
#include<unistd.h>
#include<time.h>
using namespace std;
int main(){
    clock_t t1=clock();
    sleep(2);
    clock_t t2=clock();
    cout<<t2-t1<<endl;
    return 0;
}

它在2“clock()”调用之间打印非常少的毫秒时间间隔。我预计它应该报告2,000,000。

我的猜测是否正确?手册页没有指定我的问题的任何答案。是否有更好的功能来获得两行代码之间的时间?

1 个答案:

答案 0 :(得分:1)

AsyncTask不返回秒数,它返回使用的秒数除以clock(3)(值1000000)。

在C ++中,您可能想要使用

CLOCKS_PER_SEC

不要忘记使用auto t1 = std::chrono::system_clock::now(); sleep(2) auto t2 = std::chrono::system_clock::now(); auto duration = t2 - t1; std::cout << duration.count() << endl;

进行编译