Форум сайта python.su
1
Урок из учебника тупо скопировал. Вставил принты для контроля прохождения программы. https://docs.python.org/3/library/multiprocessing.html глава общая память
# from multiprocessing import Process, Value, Array # def f(n, a): print(f) n.value = 3.1415927 print(n.value) for i in range(len(a)): a[i] = -a[i] # if __name__ == '__main__': num = Value('d', 0.0) arr = Array('i', [0, 0, 0, 0, 0]) print(num.value) print(arr[:]) # p = Process(target=f, args=(num, arr)) print(p) p.start() print(p) p.join() print(p) # print(num.value) print(arr[:]) #
Офлайн
1
Я через консоль ещё не разу не работал только через IDE. А в чем принципиальная разница как запустить?
Офлайн
294
Dmtiне должно, все выполняется.
Выполнение останавливается на команде p.join()
>>> 0.0 [1, 1, 1, 1, 1] <Process(Process-1, initial)> <Process(Process-1, started)> <Process(Process-1, stopped)> 3.1415927 [-1, -1, -1, -1, -1] >>>
Dmtiне так то что у вас
. Если её закомментировать то печатаются нули. Что не так?
arr = Array('i', [0, 0, 0, 0, 0])
[code python][/code]
Офлайн
1
Точно через консоль все работает все примеры прогнал работают. Всем спасибо за ответы.
Отредактировано Dmti (Март 4, 2019 18:33:02)
Офлайн