Python 3.x에서 프로세스 간 통신을 위해 다중 처리 모듈을 사용하는 방법
Python 3.x에서 프로세스 간 통신을 위해 멀티프로세싱 모듈을 사용하는 방법
컴퓨터 기술이 발전하면서 프로그래밍에서는 여러 작업을 동시에 수행해야 하는 경우가 많습니다. 멀티 코어 프로세서를 더 잘 활용하기 위해 Python의 멀티프로세싱 모듈은 동시 프로그램 생성을 위한 간단하면서도 강력한 도구 세트를 제공합니다. 멀티프로세싱 모듈을 사용하면 Python에서 여러 프로세스를 사용하여 동시에 실행하고 필요할 때 통신할 수 있습니다. 이 기사에서는 프로세스 간 통신을 위해 다중 처리 모듈을 사용하는 방법을 소개하고 해당 코드 예제를 제공합니다.
- 프로세스 간 통신을 위해 Queue 사용
다중 처리 모듈은 프로세스 간에 데이터를 전달하기 위한 Queue 클래스를 제공합니다. 다음은 프로세스 간 통신을 위해 Queue를 사용하는 예입니다.
from multiprocessing import Process, Queue def worker(q): # 从队列中获取数据并处理 while True: data = q.get() if data is None: break # 处理数据 print("Worker got:", data) if __name__ == '__main__': # 创建一个队列 q = Queue() # 创建多个进程 processes = [] for i in range(3): p = Process(target=worker, args=(q,)) processes.append(p) p.start() # 往队列中放入数据 for i in range(10): q.put(i) # 添加结束标记到队列中 for i in range(3): q.put(None) # 等待进程结束 for p in processes: p.join()
위 코드에서는 Queue를 통해 큐에서 데이터를 가져와 처리하는 작업자 함수를 만들었습니다. 그런 다음 세 개의 프로세스를 만들었습니다. 각 프로세스는 작업자 기능을 실행합니다. 기본 프로세스에서는 일부 데이터를 대기열에 넣고 종료 마커를 추가합니다. 마지막으로 모든 프로세스가 끝날 때까지 기다립니다.
- 프로세스 간 통신을 위해 Pipe 사용
Queue를 사용하는 것 외에도 다중 처리 모듈은 프로세스 간 양방향 파이프를 생성하기 위한 Pipe 클래스도 제공합니다. 다음은 프로세스 간 통신을 위해 Pipe를 사용하는 예입니다.
from multiprocessing import Process, Pipe def worker(conn): # 接收数据并打印 data = conn.recv() print("Worker got:", data) # 发送数据回主进程 conn.send("Hello from worker") # 关闭连接 conn.close() if __name__ == '__main__': # 创建一个管道 parent_conn, child_conn = Pipe() # 创建子进程 p = Process(target=worker, args=(child_conn,)) p.start() # 发送数据到子进程 parent_conn.send("Hello from main process") # 接收子进程的返回数据 data = parent_conn.recv() print("Main process got:", data) # 等待子进程结束 p.join()
위 코드에서는 Pipe를 통해 메인 프로세스에서 보낸 데이터를 받아 인쇄하는 작업자 함수를 생성합니다. 그런 다음 메시지를 다시 기본 프로세스로 보냅니다. 기본 프로세스에서는 파이프를 생성하고 포트 중 하나를 하위 프로세스에 전달합니다. 그런 다음 자식 프로세스에 메시지를 보내고 자식 프로세스로부터 반환 데이터를 받습니다. 마지막으로 하위 프로세스가 완료될 때까지 기다립니다.
요약:
프로세스 간 통신을 위해 다중 처리 모듈을 사용하는 것은 매우 간단합니다. 프로세스 간 데이터 전송을 구현하기 위해 큐와 파이프라는 두 가지 클래스를 제공합니다. Queue 클래스는 단방향 통신에 사용되며 put 및 get 메소드를 통해 프로세스 간에 데이터를 전달합니다. Pipe 클래스는 send 및 recv 메서드를 통한 프로세스 간 양방향 통신에 사용됩니다. 큐를 사용하든 파이프를 사용하든 서로 다른 프로세스 간에 데이터를 쉽게 전송할 수 있으므로 작업의 동시 실행 및 프로세스 간 통신이 가능합니다.
위 내용은 Python 3.x에서 프로세스 간 통신을 위해 다중 처리 모듈을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Python 3.x에서 urllib.parse.unquote() 함수를 사용하여 URL을 디코딩하는 방법 Python의 urllib 라이브러리에서 urllib.parse 모듈은 URL 인코딩 및 디코딩을 위한 일련의 도구 함수를 제공하며 그 중 urllib.parse.unquote () 함수를 사용하여 URL을 디코딩할 수 있습니다. 이 기사에서는 urllib.parse.un 사용법을 소개합니다.

Python2.x에서 Join() 함수를 사용하여 문자열 목록을 하나의 문자열로 병합하는 방법 Python에서는 여러 문자열을 하나의 문자열로 병합해야 하는 경우가 많습니다. Python은 이 목표를 달성하기 위한 다양한 방법을 제공하며, 일반적인 방법 중 하나는 Join() 함수를 사용하는 것입니다. Join() 함수는 문자열 목록을 문자열로 연결할 수 있으며 연결할 때 구분 기호를 지정할 수 있습니다. Join() 함수를 사용하기 위한 기본 구문은 다음과 같습니다. &

Python 3.x에서 수학 모듈을 사용하여 수학 연산을 수행하는 방법 소개: Python 프로그래밍에서는 수학 연산을 수행하는 것이 일반적인 요구 사항입니다. 수학 연산 처리를 용이하게 하기 위해 Python은 수학 계산 및 수학 함수를 위한 많은 함수와 상수가 포함된 수학 라이브러리를 제공합니다. 이 기사에서는 수학 모듈을 사용하여 일반적인 수학 연산을 수행하는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. 기본적인 수학 연산 덧셈은 math 모듈의 math.add() 함수를 사용하여 수행됩니다.

Java14에서 유형 패턴 일치를 위해 PatternMatching을 사용하는 방법 소개: Java14에는 컴파일 시 유형 패턴 일치에 사용할 수 있는 강력한 도구인 PatternMatching이라는 새로운 기능이 도입되었습니다. 이 기사에서는 Java14에서 유형 패턴 일치를 위해 PatternMatching을 사용하는 방법을 소개하고 코드 예제를 제공합니다. PatternMatchingPattern의 개념 이해

Python3.x에서 시스템 명령을 실행하기 위해 os 모듈을 사용하는 방법 Python3.x의 표준 라이브러리에서 os 모듈은 시스템 명령을 실행하기 위한 일련의 방법을 제공합니다. 이 기사에서는 os 모듈을 사용하여 시스템 명령을 실행하고 해당 코드 예제를 제공하는 방법을 배웁니다. Python의 os 모듈은 운영 체제와 상호 작용하기 위한 인터페이스입니다. 시스템 명령 실행, 파일 및 디렉터리 액세스 등과 같은 방법을 제공합니다. 다음은 시스템 명령을 실행하는 데 사용할 수 있는 일반적으로 사용되는 os 모듈 메서드입니다.

Python2.x에서 write() 함수를 사용하여 파일에 내용을 쓰는 방법 Python2.x에서는 write() 함수를 사용하여 파일에 내용을 쓸 수 있습니다. write() 함수는 파일 객체의 메서드 중 하나이며 문자열이나 이진 데이터를 파일에 쓰는 데 사용할 수 있습니다. 이 기사에서는 write() 함수를 사용하는 방법과 몇 가지 일반적인 사용 사례를 자세히 설명합니다. 파일 열기 write() 함수를 사용하여 파일에 쓰기 전에

Go의 IPC(프로세스 간 통신)는 파이프, 채널 및 공유 메모리를 통해 구현됩니다. 파이프를 사용하면 코루틴이 파이프 끝점을 통해 데이터를 쓰고 읽을 수 있으며, 채널은 보내기 및 받기 작업의 원자성을 보장합니다. 공유 메모리는 프로세스가 동일한 메모리에 액세스할 수 있도록 하여 빠른 데이터 교환을 가능하게 하지만 동시 액세스를 방지하려면 동기화가 필요합니다.

Python 2.x에서 urllib.quote() 함수를 사용하여 URL을 인코딩하는 방법 URL에는 문자, 숫자, 특수 문자 등을 포함한 다양한 문자가 포함되어 있습니다. URL을 올바르게 전송하고 구문 분석하려면 특수 문자를 인코딩해야 합니다. Python2.x에서는 urllib.quote() 함수를 사용하여 URL을 인코딩할 수 있습니다. 아래에서 사용법을 자세히 소개하겠습니다. urllib.quote
