С помощью Python-Python я пытаюсь преобразовать мой старый последовательный код в параллельный, который сильно зависит от объектов, у которых есть методы, которые изменяют переменные этого объекта.Раздельный пример, в котором я опускаю синтаксис в пользу простоты:
class Network:
self.adjacency_matrix = [ ... ]
self.state = [ ... ]
self.equilibria = [ ... ]
...
def populate_equilibria(self):
# this function takes every possible value that self.state can be in
# runs the boolean dynamical system
# and writes an integer within self.equilibria for each self.state
# doesn't return anything
Я называю этот метод следующим образом: Код:
j1 = jobserver.submit(net2.populate_equilibria,(),(),("numpy as num"))
Задание выполнено, и я знаю, чтопроисходит длительное вычисление, поэтому я предполагаю, что мой код запускается.
Проблема в том, что я новичок в параллельном Python. Я ожидал, что при вызове метода переменная net2.equilibria будет записана соответствующим образом., и я бы получил пересмотренный объект (net2).Вот как работает мой код, независимые объекты с методами, которые воздействуют на переменные объекта.
Скорее, хотя вычисления очевидны и разумно рассчитаны по времени, переменная net2.equilibria остается неизменной.Как будто PP только берет функцию и объект, вычисляет их в другом месте, но никогда не возвращает объект, поэтому я остаюсь со старым.
Что мне не хватает?
Заранее спасибо.