Si vous utilisez Python 2.6, vous pouvez utiliser le module multiprocessing
de la bibliothèque standard, en particulier les canaux et les files d'attente. Exemple simple des docs:
from multiprocessing import Process, Pipe
def f(conn): #This code will be spawned as a new child process
conn.send([42, None, 'hello']) #The child process sends a msg to the pipe
conn.close()
if __name__ == '__main__':
parent_conn, child_conn = Pipe()
p = Process(target=f, args=(child_conn,)) # prepare to spawn the child
p.start() # spawn it
print parent_conn.recv() # prints "[42, None, 'hello']"
p.join() #wait for child to exit
Si vous utilisez Python 2.4 ou 2.5, ne désespérez pas - un backport est disponible here.
Merci beaucoup, d'abord j'étais un peu effrayé, parce que je dois en fait le faire avec python2.5, mais les backports fonctionnaient très bien. – user164039