이제 풀 오브젝트가 만들어지고 간단한 병렬 처리가 example2.py URL 오프너를 다시 작성해 보겠습니다! 이제 다중 스레드 응용 프로그램이 다중 처리 파이썬 모듈을 사용하여 실제로 동시가 되는 것을 효과적으로 방지한 제한 글로벌 인터프리터 잠금을 피할 수있는 방법을 살펴 볼 것입니다. 다음 섹션의 예제를 살펴보면 CPU 바인딩 및 I/O 바인딩 프로그램에서 서로 다른 형태의 동시성도 더 잘 작동하거나 더 나빠지는 것을 볼 수 있습니다. 프로그램에 동시성을 추가하면 추가 코드와 복잡성이 추가되므로 잠재적인 속도 향상이 추가적인 노력의 가치가 있는지 결정해야 합니다. 이 문서가 끝나면 결정을 내리기에 충분한 정보가 있어야 합니다. 이제 여기서 주목해야 할 중요한 점은 이러한 각 난수는 다중 처리 모듈의 도움으로 만든 완전히 별도의 파이썬 프로세스에서 생성되었다는 것입니다. 여기서 가장 큰 문제는 우리가 제공하는 다른 솔루션에 비해 상대적으로 느리다는 것입니다. 다음은 내 컴퓨터에 최종 출력이 준 것의 예입니다: 다중 처리에서 프로세스 개체를 만든 다음 start() 메서드를 호출하여 프로세스가 생성됩니다. 프로세스는 스레딩API를 따릅니다. 스레드. 다중 프로세스 프로그램의 간단한 예는 이 예제의 다른 흥미로운 변경 사항은 각 스레드가 자체 요청을 만들어야 한다는 것입니다. 세션() 개체입니다.

요청에 대한 설명서를 볼 때 반드시 쉽게 알 수는 없지만이 문제를 읽는 것은 각 스레드에 대해 별도의 세션이 필요하다는 것이 매우 분명해 보입니다. 이제 동시성과 병렬 처리가 무엇인지 에 대한 아이디어를 가지고 있으므로 차이점을 검토한 다음 유용 할 수있는 이유를 살펴 보겠습니다 : 파이썬 멀티 프로세싱 풀은 여러 입력 값에서 함수의 병렬 실행을 위해 사용할 수 있습니다. 프로세스 간 입력 데이터(데이터 병렬 처리)를 제공합니다. 다음은 간단한 파이썬 멀티 프로세싱 풀 예제입니다. 예를 들어, 조금 함께 해킹, 하지만 본질적으로, 폴더는 프로그램에 전달 됩니다., 그에서 폴더에 있는 모든 이미지를 잡아, 다음 마지막으로 축소판 그림을 만들고 그들의 자신의 디렉토리에 저장.