我在Linux中运行C ++程序。
有几个线程池(用于计算,用于io,用于…这样的事情)。
系统调用clock()给了我一个方法来测量所有CPU核心在这个过程中花费的CPU时间。
但是,我想测量仅由计算线程池中的线程花费的CPU时间。
我怎样才能做到这一点?
感谢:D
要获得每个线程的CPU clock ID
,您可以使用: pthread_getcpuclockid并使用此CPU clock ID
您可以使用clock_gettime检索当前线程CPU时间。
以下是展示相同的示例代码:
struct timespec currTime; clockid_t threadClockId; //! Get thread clock Id pthread_getcpuclockid(pthread_self(), &threadClockId); //! Using thread clock Id get the clock time clock_gettime(threadClockId, &currTime);