En Sun, 26 Jul 2009 02:52:36 -0300, is un <israel.unter...@gmail.com> escribió:

Trying the multiprocessing module for the first time, I spent quite a
bit on making this code run:
[...]
The result was not what I expected, it seems like the process restarts
all the time, and the message 'Process started' keeps getting
printed...

Going back to the documentation, I realized that the doc was really
serious about the line:
if __name__ == '__main__' .. which I always ignore, and by changing
the code to

if __name__ == '__main__':
    p = Process(target=my_process, args=())
    p.start()

    print 'Process started'

the problem was solved.
So my question is what actually happens when I call p.start()? Is the
entry file reloaded under a different module name?

The multiprocessing module handles multiple (separate) processes. On Windows, a new Python interpreter is launched; on other OSs a different approach is used. In any case, you get distinct and separate processes, each one with its own set of loaded modules, etc.

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to