【发布时间】:2019-04-09 23:50:38
【问题描述】:
我想知道简单多处理代码的处理时间,但是如果父进程使用do while(wait(NULL) > 0); 等待子进程,父进程的clock() 不会返回处理时间。
我猜wait(NULL) 让clock() 只返回等待时间(除等待外的总时间)。
还有其他方法可以检查总处理时间吗?
【问题讨论】:
-
你要孩子的cpu使用次数吗?
-
clock()返回调用它的进程使用的 CPU 时间。进程在被阻塞时不会消耗 CPU 时间,无论是在wait()还是在其他阻塞调用中。 -
如果是这样,您需要
wait3()或wait4()。如果你想要所有(退出的)孩子的总 CPU 时间,而不是特定的孩子,times()是你的朋友。