单线程下的运行时间可以使用clock()
进行计算
clock()
计算的是the CPU time used so far
,即占用的CPU时间
而多线程和单线程不同的是,多线程会占用更多的CPU时间(多个线程同时运行),因此,多线程下使用clock()
会造成结果过大
使用clock_gettime
来获取多线程下每个线程的运行时间
int clock_gettime(clockid_t clk_id, struct timespec *tp);
第一个参数要输入一个宏,一般使用的有:
CLOCK_REALTIME
:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,CLOCK_MONOTONIC
:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响CLOCK_PROCESS_CPUTIME_ID
:本进程到当前代码系统CPU花费的时间CLOCK_THREAD_CPUTIME_ID
:本线程到当前代码系统CPU花费的时间版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180101.html原文链接:https://javaforall.cn