En resumen, decir que tengo el siguiente:Python clase que hereda de multiprocesamiento, problemas con miembros de la clase con el acceso
import multiprocessing
class Worker(multiprocessing.Process):
def __init__(self):
multiprocessing.Process.__init__(self)
print "Init"
self.value = None
def run(self):
print "Running"
self.value = 1
p = Worker()
p.start()
p.join()
print p.value
yo esperaría que la salida sea:
Init
Running
1
En cambio, es
Init
Running
None
¿Puede alguien explicarme por qué es este el caso? ¿Qué no estoy entendiendo y cómo debo hacerlo correctamente?
Gracias.
Gracias. También parece que la creación de valor numérico dentro del constructor (en oposición a la construcción en principal y pasándolo) también funciona bien. Dejaré la respuesta inaceptable por un tiempo (como he oído es habitual en SO). – swalog
@EXIT_FAILURE: Sí, gracias. Eso es un poco mejor. – unutbu