2016-10-11 73 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

雖然最好的做法是使用盡可能多的線程,因爲您擁有可用的虛擬內核,但您不必拘泥於此。使用較少意味着您可能沒有充分利用您的可用處理器容量。使用更多的手段,你會過度利用你的可用處理器容量。

這兩種情況都意味着你會以比其他情況下更慢的速度工作。 (儘管使用的線程比使用更多的線程比使用更少的線程比使用更少的線程影響更小)。