Create a new process to run python function

Benjamin Kaplan benjamin.kaplan at case.edu
Wed May 5 11:59:44 EDT 2010


On Wed, May 5, 2010 at 10:33 AM, James Mills
<prologic at shortcircuit.net.au> wrote:
> On Wed, May 5, 2010 at 10:56 PM, Massi <massi_srb at msn.com> wrote:
>> in my script (python 2.5 on windows xp) I need to run a simple
>> function in a separate process. In other words I need something
>> similar to the fork function under UNIX. I tried with threads:
>
> Use the new multiprocesing package.
>
>> import os, threading
>>
>> def func(s) :
>>    print "I'm thread number "+s, os.getpid()
>>
>> threading.Thread(target=func, args=("1",)).start()
>> threading.Thread(target=func, args=("2",)).start()
>
> Like this:
>
> import multiprocessing
>
> multiprocessing.Process(target=func, args=("1",)).start()
> multiprocessing.Process(target=func, args=("2",)).start()
>
> ...
>
> Surprise surprise it has almost the same API
> as the threading module :)
>
> --James

Multiprocessing wasn't added until Python 2.6.
http://www.python.org/dev/peps/pep-0371/

In Python 2.5, it was still a 3rd party package.
http://pypi.python.org/pypi/processing

The project's website appears to be down right now though.
http://developer.berlios.de/projects/pyprocessing

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



More information about the Python-list mailing list