Je Process
sous-classé comme ceci:Python multitraitement: Envoi de données à un processus
class EdgeRenderer(Process):
def __init__(self,starter,*args,**kwargs):
Process.__init__(self,*args,**kwargs)
self.starter=starter
Je définir une méthode qui utilise run
self.starter
. Cet objet starter
est d'une classe State
que je définis.
Est-ce que je peux le faire? Qu'arrive-t-il à l'objet? Est-ce qu'il est sérialisé? Cela signifie-t-il que je dois toujours m'assurer que l'objet State
est sérialisable? Le nouveau processus obtient-il une copie de cet objet?
Vous êtes mon héros :-p – fuzzyman
D'accord, je comprends. Mais cela laisse une chose étrange: quand je passe une file d'attente de la même manière que j'ai passé 'starter', cela fonctionne, donc je suppose qu'il n'est pas dupliqué. Alors comment se fait-il qu'un objet normal soit dupliqué mais pas une file d'attente? –
Je suppose que vous parlez d'une multiprocessing.queue, qui est gérée différemment des autres objets, jetez un oeil à: http://svn.python.org/view/python/trunk/Lib/multiprocessing/queues.py? vue = balisage – jnoller