Maestro Asked: 2023-04-18 23:14:51 +0800 CST2023-04-18 23:14:51 +0800 CST 2023-04-18 23:14:51 +0800 CST 后台进程是否有性能损失? 772 如果我做: sleep 1 相对 sleep 1 & wait $! 生成前台进程与后台进程的 CPU 使用率会有什么不同吗?还是两条线的性能完全相等? process 2 个回答 Voted Frédéric Loyer 2023-04-19T01:33:49+08:002023-04-19T01:33:49+08:00 使用这两个命令,shell 将 1/ 创建一个执行睡眠的并行子进程,2/ 告诉操作系统……暂停 shell 进程,直到睡眠进程结束。然后性能是相等的。 Best Answer Ole Tange 2023-04-20T04:17:12+08:002023-04-20T04:17:12+08:00 是的。 在我的系统上,第一个需要 3.0 毫秒,第二个需要 3.3 毫秒的 CPU 时间。 在实践中,如果你睡了一整秒,我永远不会担心 0.3 毫秒的 CPU 时间。 0.3 毫秒可能是由fork需要放入sleep后台的额外内容引起的。换句话说:这是一次性成本,而不是在后台运行作业的 10% 额外成本。
使用这两个命令,shell 将 1/ 创建一个执行睡眠的并行子进程,2/ 告诉操作系统……暂停 shell 进程,直到睡眠进程结束。然后性能是相等的。
是的。
在我的系统上,第一个需要 3.0 毫秒,第二个需要 3.3 毫秒的 CPU 时间。
在实践中,如果你睡了一整秒,我永远不会担心 0.3 毫秒的 CPU 时间。
0.3 毫秒可能是由
fork
需要放入sleep
后台的额外内容引起的。换句话说:这是一次性成本,而不是在后台运行作业的 10% 额外成本。