разделение значений между методами, работающими в разных процессах: Python Multiprocessing - PullRequest
0 голосов
/ 28 октября 2019

Мне нужно написать метод, который выполняет другой метод того же класса в новом процессе.

Я хочу использовать пакет, поэтому мне нужно реализовать класс и метод "compute", которыйбудет использоваться этим пакетом. Но есть проблема с накоплением памяти, которая может только? будет решена, если я выполню метод «вычислить» в новом процессе и после вычислений процесс закроется, и у меня не возникнет проблем с памятью.

Метод вычисления возвращает пакету ошибку (Float).

У меня есть некоторые проблемы с тем, чтобы заставить это работать, я не уверен, действительно ли мне нужен Менеджер, возможно многопроцессорный. Значение уже достаточно? https://docs.python.org/3.4/library/multiprocessing.html?highlight=process#multiprocessing.Value Но принцип, вероятно, тот же, и я не могу, к сожалению, понять его правильно ...

Помощь будет высоко ценится !!

from multiprocessing import Process, Manager

class Worker():


    def compute(self,  budget):


        manager = Manager()
        val_error = manager.Value()

        p= Process(target = self.compute1, args=( budget,val_error))
        p.start()
        p.join()

        return val_error


    def compute1(budget, val_error):
        val_error = budget*10



if __name__ == '__main__':

    a= Worker()
    x = a.compute( budget=2)
    print(x)
...