gpt4 book ai didi

c - pthreads:以编程方式收集有关在不同状态下花费的时间的信息?

转载 作者:IT王子 更新时间:2023-10-29 00:58:10 24 4
gpt4 key购买 nike

在 C 语言中,Linux 3.2:有没有办法以编程方式收集有关某些程序上每个 pthread 创建线程的状态的统计信息?例如,我想获取每个线程在运行和空闲状态下花费的时间。

最佳答案

clock_gettime() 可以返回线程特定的 CPU 时间。简单地做:

struct timespec ts;
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);

但据我了解,这是该线程的用户时间和系统时间的总和。您还应该考虑手册页末尾有关 SMP 系统的警告消息。

此外,如果您不想要当前线程的计时信息,而是在某些 pthread 上,您可以使用 clockid_tclock_gettime() 一起使用 int pthread_getcpuclockid(pthread_t thread, clockid_t *clock_id).

关于c - pthreads:以编程方式收集有关在不同状态下花费的时间的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774551/

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