fork - linux如何调度多个子进程?
问题描述
我想分叉数千个可以并行运行的进程以隐藏 IO 延迟。
我的程序维护了大约 2000 个子进程和一个随时等待子进程的等待线程,但似乎所有处理器都没有得到充分利用。
当我执行 htop 时,只有一些处理器被充分利用,而其他处理器则没有。
每个进程执行一个非常短的函数(大约 0.1 秒)并退出。
是因为儿童退出太早而无法通过 htop 测量以显示 CPU 利用率吗?
因为当我创建一个分叉的进程来运行无限的while循环时,我可以看到所有核心的充分利用......
我很好奇这些进程是并行执行但没有在 htop 中测量,还是它们没有并行执行..
解决方案
推荐阅读
- sql - 按文件对 BigQuery 中的表进行分区
- oracle - 无法使字段静态最终 java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP
- c++ - 如何在 Arduino 中获取 RFID 的 UID 并在 16x2 LCD 显示器(I2C 通信)中显示 UID?
- javascript - 我需要有关构建 zapier 集成的指导
- r - 如何按列对数据框进行排序,首先将某个值放在列中以开始,其余按字母顺序排列
- ios - 将从 HTTP 请求数据声明的数据/变量传递到另一个视图控制器
- user-interface - 如何使用点画表进行选择?
- python - super().__init__(*args, **kwargs) 做什么?
- reactjs - CSS 模块在使用 react-router-dom 的导航栏上是“未定义的”
- javascript - 从 HTML 到 Javascript 的输入时值为空白