멀티프로세싱을 사용한 Windows 런타임 오류
이 오류는 적절한 초기화 관용구를 사용하지 않고 Windows에서 Python 멀티프로세싱 프로세스를 시작하려고 할 때 발생합니다.
질문에서 Python 프로그램은 별도의 모듈에서 스레드와 프로세스를 시작하려고 시도하지만 RuntimeError가 발생합니다. 원인은 Windows 하위 프로세스가 초기화 시 기본 모듈을 암시적으로 가져오기 때문입니다. 적절한 가드가 없으면 재귀적인 하위 프로세스 생성이 발생합니다.
해결책:
오류를 해결하려면 if 를 추가해야 합니다. name == '__main__' 다중 프로세스 인스턴스를 방지하기 위해 메인 모듈의 가드.
수정된 메인 모듈(testMain.py):
if __name__ == '__main__': import parallelTestModule extractor = parallelTestModule.ParallelExtractor() extractor.runInParallel(numProcesses=2, numThreads=4)
이 수정 버전에서는 메인 모듈이 병렬 코드를 실행하기 전에 메인 프로세스인지 명시적으로 확인합니다. 이렇게 하면 하위 프로세스가 반복적으로 생성되지 않고 RuntimeErorr를 방지할 수 있습니다.
위 내용은 Windows에서 다중 처리를 사용할 때 RuntimeError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!