병렬 함수 실행: 다중 처리 가이드
개념
멀티태스킹에는 여러 실행이 포함됩니다. 동시에 작업을 수행하는 것은 스레딩이나 스레딩을 통해 달성할 수 있는 위업입니다. 멀티프로세싱.
멀티프로세싱과 스레딩
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!