Thread / Passage de parametres
Bonjour !
Je cherche à faire passer un paramètre entre deux threads.
Pour l'exemple type NON fonctionnel mais qui représente bien ce que je cherche à faire:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
import threading
import time
class thread_1(threading.Thread):
def __init__(self, nom=''):
threading.Thread.__init__(self)
self.nom = nom
self.Terminated = False
def run(self):
param = "HEY"
while True:
time.sleep(2)
print param
def stop(self):
self.Terminated = True
class thread_2(threading.Thread):
def __init__(self, nom=''):
threading.Thread.__init__(self)
self.nom = nom
self.Terminated = False
def run(self):
time.sleep(5)
param = "changement !"
def stop(self):
self.Terminated = True
print "Lancement des threads...",
a = thread_1('Threadname_1')
a.start()
b = thread_2('Threadname_2')
b.start()
print "[OK]" |
Vous l'aurez sans doute remarqué, j’essaye de changer le paramètre "param" qui est affiché par le Thread_1 en modifiant sa valeur dans le Thread_2 au bout de 5secondes.
Après avoir un peu googler , j'ai vu des pistes en utilisant "queue"... Mais j'ai pas vraiment compris.
Donc si quelqu'un saurait !
Merci :)