並行運行函數:多處理指南
概念
多任務涉及執行多個任務涉及執行多個任務涉及執行多個任務並發任務,可以透過線程或線程來實現這一壯舉多處理。
多處理與執行緒
在 Python 中,執行緒主要用於 I/O 密集型操作。對於 CPU 密集型任務,多處理可提供更好的效能,因為它利用多個處理器核心。
並行運行函數
考慮以下場景:
import common dir1 = 'C:\folder1' dir2 = 'C:\folder2' filename = 'test.txt' addFiles = [25, 5, 15, 35, 45, 25, 5, 15, 35, 45] def func1(): c = common.Common() for i in range(len(addFiles)): c.createFiles(addFiles[i], filename, dir1) c.getFiles(dir1) time.sleep(10) c.removeFiles(addFiles[i], dir1) c.getFiles(dir1) def func2(): c = common.Common() for i in range(len(addFiles)): c.createFiles(addFiles[i], filename, dir2) c.getFiles(dir2) time.sleep(10) c.removeFiles(addFiles[i], dir2) c.getFiles(dir2)
要同時執行 func1 和 func2,應使用多處理。以下是一個例子:
from multiprocessing import Process if __name__ == "__main__": p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start() p1.join() p2.join()
封裝並行執行
上面的程式碼可以簡化為一個函數,方便多個函數的並行執行:
def runInParallel(*fns): proc = [] for fn in fns: p = Process(target=fn) p.start() proc.append(p) for p in proc: p.join() runInParallel(func1, func2)
以上是如何使用多重處理並行運行多個 Python 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!