multiprocessing
모듈에 대한 문서는로 시작하는 프로세스에 큐를 전달하는 방법을 보여줍니다 multiprocessing.Process
. 하지만 시작된 비동기 작업자 프로세스와 큐를 공유하려면 어떻게해야 apply_async
합니까? 동적 조인이나 다른 것이 필요하지 않습니다. 작업자가 결과를 다시 기지에 (반복적으로)보고하는 방법 일뿐입니다.
import multiprocessing
def worker(name, que):
que.put("%d is done" % name)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=3)
q = multiprocessing.Queue()
workers = pool.apply_async(worker, (33, q))
이것은 실패합니다 :
RuntimeError: Queue objects should only be shared between processes through inheritance
. 이것이 의미하는 바를 이해하고 산세 / 산세 제거 (및 모든 특수 Windows 제한 사항)를 요구하는 대신 상속하라는 조언을 이해합니다. 하지만 어떻게 합니까 내가 작업하는 방식으로 큐를 통과? 예를 찾을 수없고 여러 가지 방법으로 실패한 여러 대안을 시도했습니다. 도와주세요?