는 :.파이썬 multiprocessing.Queue() 대기열() 나는 같은 간단한 작업을
def worker(queue):
while True:
try:
_ = queue.get_nowait()
except Queue.Empty:
break
if __name__ == '__main__':
manager = multiprocessing.Manager()
# queue = multiprocessing.Queue()
queue = manager.Queue()
for i in range(5):
queue.put(i)
processes = []
for i in range(2):
proc = multiprocessing.Process(target=worker, args=(queue,))
processes.append(proc)
proc.start()
for proc in processes:
proc.join()
이 multiprocessing.Queue 내가 필요한 모든 일을하지만, 다른 한편으로 할 수있는 것 손 관리자()의 많은 예를 봅니다. 대기열()과 내가 정말로 필요한 것을 이해할 수 없습니다. Manager()처럼 보입니다. Queue()는 일종의 프록시 객체를 사용하지만, 다중 처리 .Queue()가 프록시 객체없이 동일한 작업을 수행하기 때문에 이러한 목적을 이해하지 못합니다.
그래서, 내 질문은 다음과 같습니다
() 대기열 multiprocessing.manager에 의해 반환1) 정말로 차이 multiprocessing.Queue와 객체 사이의().?
2) 무엇을 사용해야합니까? 나의 이해는 내가 multiprocessing.Queue()와 multiprocessing.Manager() 사이에 하나 개의 주요 차이가 말할 수있는 한 일에서이 주제에 대한 제한되어 있지만
도움이 될 수 있습니다. https://code.activestate.com/lists/python-tutor/99586/ –