Python에서는 특히 다음과 같은 경우 성능을 최적화하기 위해 여러 함수를 동시에 실행하는 것이 바람직할 수 있습니다. 기능은 독립적이며 서로 간섭하지 않습니다. 이 문서에서는 함수를 병렬로 실행하는 기술을 살펴봅니다.
CPython 인터프리터의 제한으로 인해 스레딩은 진정한 병렬 처리를 제공하지 못할 수 있습니다. 그러나 일반적으로 다중 처리는 더 나은 성능을 제공합니다.
func1과 func2라는 두 함수를 병렬로 실행하려는 다음 예를 고려하십시오.
def func1(): # Some code def func2(): # Some code
다중 처리를 사용하여 이러한 기능을 동시에 실행하려면 다음을 사용할 수 있습니다. 단계:
각 기능에 대한 프로세스 개체 생성:
p1 = Process(target=func1) p2 = Process(target=func2)
프로세스 시작:
p1.start() p2.start()
프로세스가 완료될 때까지 기다리세요. 완료:
p1.join() p2.join()
함수를 병렬로 실행하는 프로세스를 단순화하기 위해 유틸리티 함수를 정의할 수 있습니다.
def runInParallel(*fns): # Start the processes for fn in fns: p = Process(target=fn) p.start() # Wait for the processes to finish for p in fns: p.join()
이 기능을 사용하면 이제 두 기능을 동시에 쉽게 실행할 수 있습니다.
runInParallel(func1, func2)
위 내용은 멀티프로세싱을 사용하여 Python 함수를 동시에 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!