J'ai un programme Python/wxPython où l'interface graphique est le thread principal et j'utilise un autre thread pour charger les données d'un fichier. Parfois, les fichiers sont gros et lents à charger, donc j'utilise une boîte de dialogue wxPulse pour indiquer la progression. Lorsque je charge le fichier, je compte le nombre de lignes lues dans le thread de comptage et j'affiche ce nombre dans la boîte de dialogue wxPulse du thread principal. Je reçois le compte dans le thread principal en lisant la même variable qui est écrite par le thread de chargement.Python: sûr de lire les valeurs d'un objet dans un thread?
Est-ce "thread safe"? Cela pourrait-il causer des problèmes? Je l'ai fait pendant un certain temps et ça s'est bien passé jusqu'à présent.
PS. Je sais que je pourrais utiliser une file d'attente pour transférer le compte, mais je suis paresseux et je ne veux pas si je n'ai pas à le faire.
Utilisez une [queue] (http://docs.python.org/library/queue.html), ils sont extrêmement faciles à utiliser. – Seth
@Seth: J'ai utilisé des files d'attente pour d'autres choses et je suis d'accord pour dire qu'elles sont faciles à utiliser. On dirait que je n'ai pas besoin d'une file d'attente pour cette situation particulière, et donc il serait préférable de ne pas encombrer le code avec des fonctionnalités inutiles. –
Tout le monde: merci pour les bonnes réponses tout autour. Dommage que je ne peux en choisir qu'un. –