함수 병렬 실행
Python에서는 함수의 순차적 실행이 기본 동작입니다. 그러나 리소스 집약적인 작업을 처리할 때는 여러 기능을 동시에 실행하여 성능을 향상시키는 것이 도움이 될 수 있습니다. 이 문서에서는 스레딩 또는 다중 처리를 사용하여 함수를 병렬로 실행하는 방법에 대해 설명합니다.
스레딩 및 다중 처리는 각각 다중 스레딩 및 다중 프로세스 시나리오에 대한 메커니즘을 제공하는 두 가지 라이브러리입니다. 스레딩은 더 가볍지만 일반적으로 멀티프로세싱은 계산 작업에 더 나은 성능을 제공합니다.
func1과 func2라는 두 함수를 병렬로 실행하려는 예를 생각해 보겠습니다. 다중 처리를 사용하여 함수를 다음과 같이 정의할 수 있습니다.
def func1(): # Function 1 code print("func1: completing") def func2(): # Function 2 code print("func2: completing")
함수를 병렬로 실행하려면 다음 접근 방식을 사용할 수 있습니다.
from multiprocessing import Process p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start()
start() 메서드는 프로세스를 시작합니다. , 동시에 실행됩니다. 기본 프로세스가 하위 프로세스가 완료될 때까지 기다리도록 하려면 다음과 같이 Join() 메서드를 사용할 수 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!