Как получить результат из моего процесса без использования пула?Многопроцессорность Python 2.7 получить результат процесса без использования пула
(я готов сохранить глаз на прогрессировании:
(print "\r",float(done)/total,"%",)
, который не может быть сделано с помощью пула, насколько я знаю)
def multiprocess(function, argslist, ncpu):
total = len(argslist)
done = 0
jobs = []
while argslist != []:
if len(mp.active_children()) < ncpu:
p = mp.Process(target=function,args=(argslist.pop(),))
jobs.append(p)
p.start()
done+=1
print "\r",float(done)/total,"%",
#get results here
for job in jobs:
job.get_my_result()???
Процессы очень короткий (< 0,5 секунды), но у меня около 1 миллиона из них.
Я видел эту тему Can I get a return value from multiprocessing.Process? Я попытался воспроизвести ее, но я не смог заставить ее работать правильно.
Всюду в вашем распоряжении для получения дополнительной информации.
Что происходит, когда вы пытаетесь запустить решение от другого Qu estion? – SuperBiasedMan