2016-10-11 72 views
1

说我使用Process()在循环中启动10进程,但我只有8个可用内核。 python如何处理这个?Python多处理启动比核心更多的进程

+1

我不认为Python关心。这取决于你的操作系统如何处理;最有可能通过交替的过程。 – Evert

+1

看看这个http://stackoverflow.com/questions/36795086/on-what-c​​pu-cores-are-my-python-processes-running – xCodeZone

+0

https://github.com/python/cpython/blob/ master/Lib/multiprocessing/process.py – enderland

回答

1

虽然最好的做法是使用尽可能多的线程,因为您拥有可用的虚拟内核,但您不必拘泥于此。使用较少意味着您可能没有充分利用您的可用处理器容量。使用更多的手段,你会过度利用你的可用处理器容量。

这两种情况都意味着你会以比其他情况下更慢的速度工作。 (尽管使用的线程比使用更多的线程比使用更少的线程比使用更少的线程影响更小)。