C语言多线程运行时间计算

C语言多线程运行时间计算C语言多线程运行时间计算单线程下的运行时间可以使用clock()进行计算clock()计算的是theCPUtimeusedsofar,即占用的CPU时间而多线程和单线程不同的是,多线程会占用更多的CPU时间(多个线程同时运行),因此,多线程下使用clock()会造成结果过大使用clock_gettime来获取多线程下每个线程的运行时间intclock_gettime(clockid_tclk_id,structtimespec*tp);第一个参数要输入一个宏,一般使用的有:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

C语言多线程运行时间计算

单线程下的运行时间可以使用clock()进行计算

clock()计算的是the CPU time used so far,即占用的CPU时间
而多线程和单线程不同的是,多线程会占用更多的CPU时间(多个线程同时运行),因此,多线程下使用clock()会造成结果过大

使用clock_gettime来获取多线程下每个线程的运行时间

int clock_gettime(clockid_t clk_id, struct timespec *tp);

第一个参数要输入一个宏,一般使用的有:

  1. CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,
  2. CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响
  3. CLOCK_PROCESS_CPUTIME_ID:本进程到当前代码系统CPU花费的时间
  4. CLOCK_THREAD_CPUTIME_ID:本线程到当前代码系统CPU花费的时间
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180101.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10多合一原版系统_制作WIN10多合一原版系统「建议收藏」

    win10多合一原版系统_制作WIN10多合一原版系统「建议收藏」本帖最后由zhaofeng0420于2017-6-2112:27编辑开场白…已省略1000字废话先来看看效果QQ截图20170613153956.png(25.77KB,下载次数:0)2017-6-1422:10上传提前准备:WIN10原版ISO镜像cn_windows_10_multiple_editions_version_1703_updated_march_201…

    2022年6月29日
    42
  • 极路由2刷机_极路由刷固件有什么用

    极路由2刷机_极路由刷固件有什么用绕过官方的ROOT查了一下root教程,如果还需要保留保修,则需要自己想办法回退版本,下载搜狐插件到sd卡,找个linux系统修改sd卡上程序的执行权限,然后才能开启ssh,具体的方法可

    2022年8月3日
    5
  • 三极管开关电路_利用三极管设计开关电路[通俗易懂]

    三极管开关电路_利用三极管设计开关电路[通俗易懂]很多工程师在上学时被老师讲的三极管的各种电路接法,和小信号模型分析给绕晕了。而且大学的课本大多数都是在讲三极管的放大特性。其实在实际的电路设计中,三极管的很多应用场景只是利用三级管的开关特性,我们往往是运用三极管来实现开关电路,做一些电平转换的功能。这是由于两个原因造成的:由于数字电路的快速发展,模拟电路设计的比重越来越小;另外运算放大器,越来越便宜,各项特性也比分立器件实现的放大电路相…

    2022年9月20日
    3
  • PhpStorm中报 “Cannot run program git.exe, 系统找不到指定的文件”

    PhpStorm中报 “Cannot run program git.exe, 系统找不到指定的文件”

    2021年10月10日
    42
  • 深入浅出JVM调优,看完你就懂

    深入浅出JVM调优,看完你就懂深入浅出JVM调优基本概念:JVM把内存区分为堆区(heap)、栈区(stack)和方法区(method)。由于本文主要讲解JVM调优,因此我们可以简单的理解为,JVM中的堆区中存放的是实际的对象,是需要被GC的。其他的都无需GC。下图文JVM的内存模型从图中我们可以看到,1、JVM实质上分为三大块,年轻代(YoungGen),年老代(OldMemory…

    2022年6月1日
    34
  • Eureka原理理解和Eureka集群搭建

    Eureka原理理解和Eureka集群搭建简介Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务。springcloud框架集成了Eureka,在微服务架构中充当注册中心的角色,方便管理各种微服务。Eureka原理Eureka分为EurekaServer和EurekaClient及服务端和客户端。EurekaServer为注册中心,是服务端,而服务提供者和消费者即为客户端,消费者也可以是服…

    2022年6月6日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号