also mein Problem besteht darin, dass ich im endeffekt eine Methode einer Klasse per multiprocessing nutzen will und das einfach ohne Fehlermeldung nicht funktioniert (d.h. es kommt wirklich keine Fehlermeldung es macht einfach irgendwas, aber nicht was es soll). Der Code für das multiprocessing mit einer "normalen" Funktion außerhalb einer Klasse funktioniert. Im Prinzip sieht der Code so aus wie unten, das soll auch wirklich nur das Prinzip darstellen. Mein Ziel wäre den unteren Teil auch noch irgendwie auszulagern aber das funktioniert dann genauso wenig. Ich würde halt gern das "zu berechnende Problem" und die methoden, welche es dann zb für gewisse parameter lösen irgendwie trennen damit alles nicht zu unübersichtlich wird. Eventuell gibt es da ja auch bessere Ansätze.
Code: Alles auswählen
# das sind die module die ich im original nutze
from numpy import *
from scipy.integrate import odeint
from multiprocessing import Pool
class bla:
def a(x):
macht was
def b(x,y):
return 2*a(x) # im sinne das hier methode b auch wirklich nochmal methode a intern nutzt
result = []
def callback_func(x):
result.append(x)
def multi():
pool = Pool(4)
for i in linspace(1,2,3):
pool.apply_async(blabla.b,args=(i,0,),callback=callback_func)
pool.close()
pool.join()
print(sorted(result))
blabla = bla()
multi()
