3
언제든지 다음 코드를 사용하면 풀 결과가 항상 시간 초과를 반환하지만 논리적으로 잘못된 작업이 있습니까?프로세스 시간 초과 내부의 다중 처리 풀
from multiprocessing import Pool, Process, cpu_count
def add(num):
return num+1
def add_wrap(num):
new_num = ppool.apply_async(add, [num])
print new_num.get(timeout=3)
ppool = Pool(processes=cpu_count())
test = Process(target=add_wrap, args=(5,)).start()
나는 this bug 알고 있어요, 그것은 파이썬 2.6.4에서 수정 된 것이라고 생각이나 했 겠어요?
동일한 줄을 생각하고 있었지만 여전히 시간 초과 예외가 발생했습니다. Pool()은 Process() 내부에서 호출 할 의도가 없었던 것처럼 보이지만 실현 가능한 작업이라고 생각했을 것입니다. – NeonNinja
우분투 Karmic에서 파이썬 2.6.4로 타임 아웃 예외를 얻지 못했습니다. 어떤 운영 체제/파이썬 버전을 사용합니까? –
내 잘못하면 Python 2.6을 사용하여 솔루션을 테스트 한 결과, 2.6.4에서는 정상적으로 작동하고 +는 받아 들일 수 있습니다. – NeonNinja