Comportement mystérieux de multiprocessing
Bonjour,
en faisant des essais avec le module multiprocessing, je suis tombé sur un comportement des plus bizarres et tout à fait contrariant !
Voici un bout de code minimal qui met en évidence le problème :
Code:
1 2 3 4 5 6 7 8 9
| from multiprocessing import Process
def f ( name ):
for i in xrange( 10 ):
print name,i
p = Process(target=f, args=('from root',))
p.start()
p.join() |
Quand le process est lancé, c'est la catastrophe !
Il part dans une en boucle infinie (en affichant plein de fois les 10 lignes attendues) en occupant tout le CPU et en affichant de temps en temps :
Code:
1 2 3
| Unable to register TclNotifier window class
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information. |
Qu'ai je fait de mal ?
Qu'est qu'un comprend-il le fin mot de l'histoire ?
Merci d'avance...
Hadrien