尽管有很多关于多处理的信息,但我无法找出解决问题的正确方法:
我有一个计算一些数据的函数 - 每次大约需要 5 秒。我需要运行这个函数 2 到 100 次。该函数可以独立运行,因此如果一个调用需要 20 秒而另一个只需要 3 秒,那么这对最终结果并不重要。这种情况非常适合多处理设置。但是为 100 个函数调用并行启动 100 个进程对我来说没有意义。
我要查找的关键字是什么?队列、池、管理器?我想每次都计算 x 个案例,具体取决于系统拥有的核心数量。一旦其中一个计算完成并且 CPU 有一个空闲内核,它应该从列表中删除下一个案例并再次触发晶体管。完成所有操作后,我想访问输出。
提前致谢!