用户时间 > 挂钟时间有可能吗?

用户时间 > 挂钟时间有可能吗?

我执行脚本得到以下结果:

real 0m1.027s
user 0m1.752s

我明白那个:

  • 实际时间是挂钟时间。如果我用秒表从执行开始到结束进行测量,就会得到这个时间。
  • 用户时间是 CPU 专门执行脚本代码的时间(例如,此时间不包括内核系统调用)。

为什么可能存在用户时间 > 实际时间的情况?

答案1

如果线程并行运行,多线程应用程序就有可能实现这一点。如果两个线程一直在运行,那么该进程在每一秒的墙/实时中会消耗两秒的 CPU 时间。

答案2

是的。用户时间是执行进程中每个线程所花费时间的总和。如果同时执行多个线程,则用户时间可能大于挂钟(实际)时间。

相关内容