我有興趣應用Python多處理模塊(或任何合適的等價物)來加速獨立處理多個數據文件。目前,處理代碼在單個內核上是CPU限制的,即100%cpu,直到完成。獨立作業的多核處理
我有許多數據文件,每個數據文件都需要一些簡單但相對CPU密集的處理操作。處理操作已被轉換爲一個單獨的函數,該函數將處理文件和其他一些參數。由於每個處理操作完全獨立,多核處理似乎是一個完美的解決方案。
我見過在多處理模塊中使用Process和Queue方法的各種示例,但如果我誠實地說,我真的不知道如何將它們應用於我的問題。本質上,我想使用我的機器中的所有8個內核來使用作業排隊系統咀嚼處理操作。開始時,同時處理8個文件,每個核心處理1個文件。當其中一個內核完成其處理操作時,我希望它處理隊列中的下一個文件。該循環繼續,直到處理完所有文件。由於處理操作是獨立的,因此不需要進行任何跨線程通信。
有沒有人有一個簡單的例子來說明如何在Python中做到這一點?
感謝
這可能是一個很好的閱讀:https://www.praetorian.com/blog/multi-core-and-distributed-programming-in-python – Dyrborg
https://mikecvet.wordpress.com/2010/ 07/02/parallel-mapreduce-in-python /可能會給你一些很好的線索。 – boardrider