gpt4 book ai didi

c - 以编程方式获取线程 CPU 时间的方法,在 C 中,适用于 OpenSolaris 和 Linux

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:08 28 4
gpt4 key购买 nike

我有一个用 C 编写的小型守护程序,我需要一种方法来获取线程上的当前 CPU 时间。 Linux 显然提供了多种方法来执行此操作,clock_gettime(CLOCK_THREAD_CPUTIME_ID, ...)、pthread_getcpuclockid()、getrusage(RUSAGE_THREAD, ...),但 OpenSolaris 2009.06 似乎不支持这些方法。

是否有一种跨平台友好的方法来获取线程的当前 CPU 时间?如果没有,有什么办法可以在 OpenSolaris 中做到这一点?在这一点上,我什至愿意放入一堆丑陋的编译器指令来完成这项工作。

最佳答案

根据 "Thread Priority on the Solaris Platform" , Solaris 9 及更高版本默认为线程和 LWP ( Light-Weight Processes ) 之间的一对一对应关系。因此,根据getrusage's manpage ,您应该能够调用 getrusage(RUSAGE_LWP, ...)

关于c - 以编程方式获取线程 CPU 时间的方法,在 C 中,适用于 OpenSolaris 和 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610484/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com