是否有可能知道当前线程占用了多少CPU



我正在为游戏引擎中的卸载任务编写一个任务调度器,我希望它基于一些启发式方法来调整自己。是否有可能知道当前线程在两个时间点之间执行了多长时间?我想计算任务执行所需的时间,并且由于多种原因,我希望该时间不包括线程切换(这是一种更准确的测量方法,而且知道有多少线程被切换出去也很有用)。我想为linux的解决方案,但windows的解决方案也将赞赏

尝试查看/proc/[pid]/task/[tid]/stat

格式类似于/proc/[pid]/stat,说明如下:http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html

pthread_getcpuclockid()手册中的示例代码表明您可以使用clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts)

最新更新