我目前使用getrusage
告诉我,我在我的应用程序的事件循环花费多少时间。
我不知道这会冬眠的影响。 正在冬眠时间报道呢? 或许因为系统时间? 这是指定的地方在Posix的还是这取决于系统?
编辑询问的Windows同样的问题在这里 。
我目前使用getrusage
告诉我,我在我的应用程序的事件循环花费多少时间。
我不知道这会冬眠的影响。 正在冬眠时间报道呢? 或许因为系统时间? 这是指定的地方在Posix的还是这取决于系统?
编辑询问的Windows同样的问题在这里 。
我不认为任何地方POSIX提到冬眠,所以它在技术上是依赖于平台。
我只能说为Linux,但其他UNIX变体 - 或许甚至是Windows - 也许同样的行为,因为这是最有意义的。
在Linux中,与冬眠引擎盖下会发生什么的确切细节文档/功率/ swsusp.txt内核源代码下的说明。 总之,用户进程被发送使得他们切换到一个假信号TASK_UNINTERRUPTIBLE
状态。 在A过程TASK_UNINTERRUPTIBLE
状态取出运行队列,并把睡觉,直到它在等待条件成真,所以花费的时间TASK_UNINTERRUPTIBLE
既不算作用户的时间,也为系统时间。 如果你要测量与运行时time(1)
你会在最见它有助于挂钟时间。
随着getrusage(2)
你不会看到任何报告的CPU时间的差异,因为这个过程是不能运行的。
因此,要回答你的问题:休眠时间是不是在所有的报道。