On 30/12/2013 16:37, Walter Valenti wrote:
Mettiamo che abbia una situazione del genere:
###
from multiprocessing import Process, Manager
class T1(object):
def __init__(self):
print "init..."
self.run()
def run(self):
print "run",str(os.getpid())
Sarò io che magari non comprendo il "grande disegno", ma fare:
def t1():
print "run", os.getpid()
usando una semplice funzione, non andava bene? :)
class T2(object):
p = Process(target=T1)
p.start()
p.join()
T2()
###
Come faccio in questo caso a condividere una variabile tra il processo padre e
i figlio?
Memoria condivisa, come spiegato nella documentazione.
Se uso il Manager ho il problema che le due classi hanno ognuna il proprio
namespace.
Certo, è il motivo per cui stai usando i processi, no?
Altrimenti usa i thread.
Ho provato ad usare BaseManager, per crearmi il Manager ad Hoc.
In questo caso ha funzionato, ma la cosa è bloccante. Se il processo figlio
esegue un loop,
il padre rimane in attesa bloccato.
Come lo stai usando?
Ciao Manlio
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python