Bonjour,

J'ai fais un petit programme teste pour les thread. Ca marche sans soucis. Mais j'ai voulu faire le même programme sur 3 fichiers différents. A savoir 2 fichiers pour 2 thread et un fichier pour le lancement. Le problème que je trouve, et que quand on le lance, il ne trouve pas la valeur de x pour le thread "salut" pourtant alors que x est définie en "global" dans les 3 fichiers. Si quelqu'un a une idée, je suis preneur. Mes codes :


Fichier "principal.py":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
import threading
from bonjour1 import *
from salut import *
global x
 
t1=threading.Thread(target=bonjour)
t1.start()
 
t2=threading.Thread(target=salut)
t2.start()

Fichier "bonjour1.py":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
import time
from salut import *
global x
def bonjour():
    temps = 0.
    x=0.
    while (temps < 10.):
        time.sleep (1.5)
        x=x+1
        print "bonjour  x= " , x

Fichier "salut.py":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
import time
from bonjour1 import *
global x
def salut():
    k = 0
    x=0.
    while (k <10.):
        print "salut  x= ",x
        time.sleep(1.)