我正在Linux上编写一个python 2.7.11程序。该程序创建12个具有multiprocessing.Pool的子流程。每个子进程都通过python的psutil库与12个cpu中的一个进行cpu关联。c函数与python的多重处理混合使用
我用multiprocessing.Event做11次过程等待子进程0
然后,在子进程0,我称之为英特尔数学核心函数库开始计算12个线程。
等待子进程会消耗任何cpu资源并影响12个线程的计算吗?
如果是这样,如何避免这种情况?或者,如何测试是否会发生?
主进程会影响12个线程的计算吗?
感谢。
一般来说,没有。假设操作系统正在分配进程以分离系统中的核心/处理器,则不应该对另一个产生影响。缺乏细节,很难更具体。你能发布一些示例代码吗? – codingCat
这12个子过程不会相互影响。但是,“等待”12个子进程是否会影响从子进程0启动intel线程的12个线程?只有12个cpus ....我可以尝试制定一个简化版本的代码。整个事情,包括接口python numpy和intel mkl的ctypes都很长。 – rxu