멀티프로세싱을 사용하여 Python 함수를 동시에 실행하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-11-21 12:08:11
원래의
389명이 탐색했습니다.

How Can I Run Python Functions Concurrently Using Multiprocessing?

Python에서 동시에 함수를 실행하는 방법

소개

Python에서는 특히 다음과 같은 경우 성능을 최적화하기 위해 여러 함수를 동시에 실행하는 것이 바람직할 수 있습니다. 기능은 독립적이며 서로 간섭하지 않습니다. 이 문서에서는 함수를 병렬로 실행하는 기술을 살펴봅니다.

스레드 및 다중 처리 사용

CPython 인터프리터의 제한으로 인해 스레딩은 진정한 병렬 처리를 제공하지 못할 수 있습니다. 그러나 일반적으로 다중 처리는 더 나은 성능을 제공합니다.

구현 예

func1과 func2라는 두 함수를 병렬로 실행하려는 다음 예를 고려하십시오.

def func1():
    # Some code

def func2():
    # Some code
로그인 후 복사

다중 처리를 사용하여 이러한 기능을 동시에 실행하려면 다음을 사용할 수 있습니다. 단계:

  1. 각 기능에 대한 프로세스 개체 생성:

    p1 = Process(target=func1)
    p2 = Process(target=func2)
    로그인 후 복사
  2. 프로세스 시작:

    p1.start()
    p2.start()
    로그인 후 복사
  3. 프로세스가 완료될 때까지 기다리세요. 완료:

    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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿