Python : attendre via variables : est-ce une bonne idée ?
Résolu
Lecodeurhtmlcss
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
-
Lecodeurhtmlcss Messages postés 76 Date d'inscription Statut Membre Dernière intervention -
Lecodeurhtmlcss Messages postés 76 Date d'inscription Statut Membre Dernière intervention -
Bonjour et merci de votre attention,
Dans un programme que je crée, j'ai une boucle principale qui lance des fonctions à un intervalle régulier. Par ailleurs, ce programme détecte des mouvements de souris et agit en fonction. Pour éviter le mal de mer, j'aimerai que ces deux fonctionnalités fonctionnent au même moment.
(La fonction liée au déplacement de souris n'est pas toujours déclenchée et calculerait pour rien si elle était ajoutée dans la boucle principale, ce sont donc deux fonction différentes)
J'ai donc pensé directement à faire attendre la fonction "souris" pour modérer ses lancements. Malheureusement, on ne peut pas utiliser la méthode thread/.join -- de fait seule ma fonction principale pourra attendre avec .join car c'est elle qui appelle, et pas la fonction souris.
J'ai donc pensé à utiliser une variable on/off qui sera testée par la fonction souris et allumée/éteinte par la fonction principale, mais il va sans dire que ce serait assez hasardeux (la fonction souris pourrait se déclencher plusieurs fois ou rater le coche !).
On pourrait certes régler la possibilité que cette fonction se déclenche plusieurs fois (lors du déclenchement la fonction souris remet la variable à off), mais je ne suis pas sûr qu'elle se déclenchera !
Donc :
1. Est-ce quand même une bonne idée d'utiliser une variable on/off pour communiquer entre les fonctions ?
2. Étant donné que os.wait ne semble pas très sympa pour passer entre différentes fonctions, pourrait-il y avoir une autre méthode ?
Merci beaucoup !
Dans un programme que je crée, j'ai une boucle principale qui lance des fonctions à un intervalle régulier. Par ailleurs, ce programme détecte des mouvements de souris et agit en fonction. Pour éviter le mal de mer, j'aimerai que ces deux fonctionnalités fonctionnent au même moment.
(La fonction liée au déplacement de souris n'est pas toujours déclenchée et calculerait pour rien si elle était ajoutée dans la boucle principale, ce sont donc deux fonction différentes)
J'ai donc pensé directement à faire attendre la fonction "souris" pour modérer ses lancements. Malheureusement, on ne peut pas utiliser la méthode thread/.join -- de fait seule ma fonction principale pourra attendre avec .join car c'est elle qui appelle, et pas la fonction souris.
J'ai donc pensé à utiliser une variable on/off qui sera testée par la fonction souris et allumée/éteinte par la fonction principale, mais il va sans dire que ce serait assez hasardeux (la fonction souris pourrait se déclencher plusieurs fois ou rater le coche !).
On pourrait certes régler la possibilité que cette fonction se déclenche plusieurs fois (lors du déclenchement la fonction souris remet la variable à off), mais je ne suis pas sûr qu'elle se déclenchera !
Donc :
1. Est-ce quand même une bonne idée d'utiliser une variable on/off pour communiquer entre les fonctions ?
2. Étant donné que os.wait ne semble pas très sympa pour passer entre différentes fonctions, pourrait-il y avoir une autre méthode ?
Merci beaucoup !
A voir également:
- Python : attendre via variables : est-ce une bonne idée ?
- Citizen code python avis - Accueil - Outils
- Mot secret python pix ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
- Exercice python - Forum Python
2 réponses
Bonjour à nouveau,
Je ne comprends pas ce que tu dis, un mouvement de souris, c'est un truc que l'on gère instantanément, ni non plus le rapport avec des threads, sachant que tu utilises tkinter, nul besoin de threads pour faire ça.
Cependant le problème auquel tu es confronté n'est quand même pas très clair, que font les fonctions qui sont lancées périodiquement ? Pourquoi as-tu besoin de faire une synchronisation ? Je pense que c'est un faux problème.
Je ne comprends pas ce que tu dis, un mouvement de souris, c'est un truc que l'on gère instantanément, ni non plus le rapport avec des threads, sachant que tu utilises tkinter, nul besoin de threads pour faire ça.
Cependant le problème auquel tu es confronté n'est quand même pas très clair, que font les fonctions qui sont lancées périodiquement ? Pourquoi as-tu besoin de faire une synchronisation ? Je pense que c'est un faux problème.
Lecodeurhtmlcss
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
2
Je pensais auparavant mettre un peu d'attente pour permettre une même vitesse de déplacement par exemple sur toutes la capacités d'ordinateurs, mais c'est peut-être la meilleure idée !
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
tu ne décris pas ce que tu veux réaliser, tu décris comment tu as tenté de le réaliser.
si je devine bien ce que tu expliques peu, moi je ferais toutes les actions dans les fonctions périodiques.
et, donc, les mouvements de souris se contenteraient de modifier des variables qui influenceraient le comportement des fonctions périodiques.
tu ne décris pas ce que tu veux réaliser, tu décris comment tu as tenté de le réaliser.
si je devine bien ce que tu expliques peu, moi je ferais toutes les actions dans les fonctions périodiques.
et, donc, les mouvements de souris se contenteraient de modifier des variables qui influenceraient le comportement des fonctions périodiques.