c'est mon code:terme de deux fils en même temps et les deux manipuler la variable simple
import threading
x=0
class a(threading.thread)
def run(self):
global x
for i in range(1000000):
x+=1
class b(threading.thread)
def run(self):
global x
for i in range(1000000):
x-=1
def run():
a().start()
b().start()
//after both thread done
print x
run()
Je me attends cela me montre 0 (x = 0), mais chaque fois que je l'exécute le résultat est assez différente (moins zéro)
qu'est-ce qui ne va pas?
J'ai essayé d'exécuter votre code; et j'ai immédiatement frappé une erreur de syntaxe sur la troisième ligne. Peut-être que vous essayez d'écrire du code qui fonctionne réellement? – GhostCat
il doit être threading.Thread au lieu de thread.thread – famagusta
Voir [this] (http://stackoverflow.com/questions/1717393/is-the-operator-thread-safe-in-python) poster – FujiApple