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
Pour les details, cherche tout seul !
C'est tout à fais ça ... J'arrête mon 'Main' avec un sleep et mes threads se lancent... tout sa fonction très bien ...Envoyé par ZaaN
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.
J'aime pas les épinards... Mais alors pas du tout
Bonne idée ... 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 .Envoyé par Higestromm
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
J'aime pas les épinards... Mais alors pas du tout
Oui... tu dois très certainement avoir raison lorsque tu travail en C++ (pur et dur) ... 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 .Envoyé par Higestromm
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 ?
J'aime pas les épinards... Mais alors pas du tout
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'ordi ...Envoyé 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.
J'aime pas les épinards... Mais alors pas du tout
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager