Bonjours à tous,
Voici mon problème :
Je souhaiterais savoir si il existe une fonction non bloquante ( contrairement à 'fget' ou 'getch'), pour récupérer une saisi clavier afin de sortir d'une boucle infini.
Si quelqu'un peu m'aider, Merci...
Bonjours à tous,
Voici mon problème :
Je souhaiterais savoir si il existe une fonction non bloquante ( contrairement à 'fget' ou 'getch'), pour récupérer une saisi clavier afin de sortir d'une boucle infini.
Si quelqu'un peu m'aider, Merci...
pourquoi tu veux pas attendre l'entrée de l'utilisateur ?
si c'est pour faire autre chose durant ce temps -> thread
si c'est pour recevoir un event, message -> pompe à message
sinon je vois pas vraiment
C'est tout à fais çaEnvoyé par ZaaN
... J'arrête mon 'Main' avec un sleep et mes threads se lancent... tout sa fonction très bien
...
Le problème c'est que je doit être ds une boucle infini pour ne pas sortir du programme et lancé de façon récursive toutes mes taches...
Je souhaite sortir de mon programme qu'à une seul condition :
la saisie d'une lettre ou d'un mot sur le clavier.
Tu met ta boucle infini dans un thread et tu attend l'entrée utilisateur dans ton main.
Bonne idéeEnvoyé par Higestromm
... mais je pense que sa reviend au même puisque le 'Main' doit avoir la plus haute priorité, après mon sleep je recupère la main dans le 'Main', donc si j'utilise un 'fgets' je vais figuer le programme
.
Le main n'as pas priorité sur un thread, les deux processus sont executés en meme temps. Par contre si tu lit sur le clavier dans ta thread, le main qui aura recu l'odre de lecture en premier passera en premier.Envoyé par mickael777
Oui... tu dois très certainement avoir raison lorsque tu travail en C++ (pur et dur)Envoyé par Higestromm
... Moi je travail en avec un C++ d'un OS temps réel : "QNX"... Donc je ne pense pas me tromper (mais c'est possible
), lorsque je dis : mon "Main" a la priorité MAX
.
Heu c'est ptet con ce que je dit mais si ton OS ne gère pas le multithread... comment est il possible de créer des Thread ?
Ben en faite QNX c'est fait pour faire du multi-tache, des sémaphores , des mutex, des timers, des mémoires de partages... Le plus gros soucis avec cet Os c'est le mec derrière l'ordiEnvoyé par Higestromm
...
Concernant la création d'un système multi-tache sous QNX il faut procéder de la mannière suivante :
Pour pouvoir créer plusieurs taches et leur donner des priorités, il faut tout d'abord donner une priorité au « main( ) » qui est supérieur à la priorité de l'ensemble des taches....
Essai de voir si u peux pas chopper le systeme d'evenement de la bibliotheque SDL alors. Avec elle tu peux lire les evenements claviers de manière non blocante.
Partager