Question related to multiprocessing.Process
Chris Angelico
rosuav at gmail.com
Sat Jan 19 00:05:07 EST 2013
On Sat, Jan 19, 2013 at 3:50 PM, Cen Wang <iwarobots at gmail.com> wrote:
> Hi, when I use multiprocessing.Process in this way:
>
> from multiprocessing import Process
>
> class MyProcess(Process):
>
> def __init__(self):
> Process.__init__(self)
>
> def run(self):
> print 'x'
>
> p = MyProcess()
> p.start()
>
> It just keeps printing 'x' on my command prompt and does not end. But I think MyProcess should print an 'x' and then terminate. I don't why this is happening. I'm using Win7 64 bit, Python 2.7.3. Any idea? Thanks in advance.
Multiprocessing on Windows requires that your module be importable. So
it imports your main module, which instantiates another MyProcess,
starts it, rinse and repeat. You'll need to protect your main routine
code:
if __name__=="__main__":
p = MyProcess()
p.start()
ChrisA
More information about the Python-list
mailing list