Salut à tous,
Sujet maintes fois traité mais je n'arrive pas à trouver mon bonheur :/ ... Je souhaiterais utiliser une variable (ici une Queue) dans mon thread secondaire (que j'utilise pour me connecter à un serveur) et mon thread principal (que j'utilise pour asservir une arduino)

(ça sera plus clair avec le code :p )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
# -*- coding: utf8 -*-
import serial
import time
import connection
import EnvoiOrdre
import server
from threading import Thread
import sys
import random
from Queue import Queue
 
queue_serveur=Queue(maxsize=10)
 
 
class thread_serveur(Thread):
 
    """Thread chargé simplement d'afficher une lettre dans la console."""
 
    def __init__(self, httpd):
        Thread.__init__(self)
        self.httpd=httpd
 
    def run(self):
        """Code à exécuter pendant l'exécution du thread."""
        print("ok")
        queue_serveur.put("data reçu du serveur")
        self.httpd.serve_forever()
 
 
if __name__ == "__main__":
 
 
    #arduino=connection.usb()
    httpd=server.init_serveur()
    print("test")
    t_serveur=thread_serveur(httpd)
    t_serveur.daemon=True
    t_serveur.start()
    print("la vie suit son cours")
    msg=queue_serveur.get()
    print(msg)
    #t_serveur.join()
    while(1):
        time.sleep(1)

Actuellement, j'utilise une variable globale mais je trouve ça moche..

merci d'avance pour votre aide !