многопроцессный Python не запускается
Вот мой код для простой многопроцессорной задачи в Python
from multiprocessing import Process
def myfunc(num):
tmp = num * num
print 'squared O/P will be ', tmp
return(tmp)
a = [ i**3 for i in range(5)] ## just defining a list
task = [Process(target = myfunc, args = (i,)) for i in a] ## creating processes
for each in task : each.start() # starting processes <------ problem line
for each in task : each.join() # waiting all to finish up
Когда я запускаю этот код, он в какой-то момент зависает, поэтому для его идентификации я запускаю его построчно в оболочке python и обнаруживаю, что когда я вызываю 'each.start ()', оболочка выдает диалоговое окно в виде:
" The program is still running , do you want to kill it? '
и я выбираю «да», оболочка закрывается.
Когда я заменяю Process на 'threading.Thread', запускается тот же код, но с таким бессмысленным выводом:
Squared Squared Squared Squared Squared 0 1491625
36496481
Есть ли помощь в этом отношении? заранее спасибо
Для запуска своих кодов Python я использую Idlex IDE и запускаю его из терминала.
У меня есть процессор Intel Xeon с 4 ядрами / 8 потоков и 8 ГБ оперативной памяти