[Python] Semantica del modulo multiprocessing.
    Manlio Perillo 
    manlio.perillo a gmail.com
       
    Lun 30 Dic 2013 16:53:43 CET
    
    
  
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
    
    
       
       Maggiori informazioni sulla lista 
	       Python