begin process at 2012 05 29 11:21:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

dois-je utiliser un thread ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

dois-je utiliser un thread ?

vendredi 20 mai 2005 à 11:46:13 | dois-je utiliser un thread ?

the diouk

dans le prog que je fais, j'appelle une fonction de comptage qui peut durée plusieurs heures, elle est lancée quand j'appuye sur run dans le menu. mais dès lors, toute l'uc est pris pour compté et si par exemple je click sur réduction de la fenêtre ou n'importe quelle action, ça plante.

je me suis dit qu'un thread serait bien, mais dans les définissions j'ai vu que cette fonction prennait un paramètre, ça je m'en fout, je veux juste qu'il puisse exécuter la fonction qui elle demande 2 paramètre et renvoi 1. C'est possible de lancer une fonction dans un thread ? si oui comment je lui donne les paramètres à donner à la fonction de comptage ( car ces paramètres sont définis avant dans des édit ) ???

sinon au pire je pensait juste mettre un button annuler qui permettrait de revenir à la fenêtre initiale mais pareil, comment faire en sorte que le click soit pris en compte sans que tout bug ? encore un thread ?

si quelqu'un peut me donner quelques infos se serait cool
merci

Easy love Baby
vendredi 20 mai 2005 à 15:06:00 | Re : dois-je utiliser un thread ?

MNEMONIC

Dans la boucle la plus longue, essaye d'ajoutter une pause d'une millisec par boucle...
Grâce à cette pause, ta boucle libèrera le processeur juste assez longtemps pour laisser bosser les autres...
Sous Visual cpp, c'est Sleep(n), avec n en milli secondes.
vendredi 20 mai 2005 à 17:02:42 | Re : dois-je utiliser un thread ?

mezaya

ou avec un thread mais en priorité basse ce qui te laissera tu temps pour les autres application tout en ayant un controle sur le thread. Pour controler un thread -->  une application fenetré toute bête permettant par exemple de stopper ton programme. et Comme elle est gérer par des messages elle utilise quasiment aucun temp processeur.

Voili,Voilou
lundi 23 mai 2005 à 11:29:05 | Re : dois-je utiliser un thread ?

the diouk

j'ai utilisé Sleep, mais rien de neuf, il bug toujours, par contre c'est vrai que l'uc est partiellement libérée. J'hésite toujours à utiliser un thread : peut-t-on lui passer plusieurs variables pour qu'il puisse lui même les utiliser ?
Je m'explique : je veut qu'il fasse un threads avec ça :

while (nb < nNbAcquisitions)
                                  {
                                    t0 = time(NULL);
                                    t1 = time(NULL);
                                    while ( difftime (t0+nDuree*60,t1)>0)
                                      {
                                        k = DllFunc3(&b);
                                        while(b!=2)
                                        {
                                            Sleep(100);
                                            k = DllFunc3(&b);
                                        }   
                                        j++;
                                        Sleep(500);
                                          
                                      if (j%2==0)SetCursor(LoadCursor(hThisInstance, IDC_HAND));
                                      else SetCursor(LoadCursor(hThisInstance, IDC_WAIT));
                                      t1 = time(NULL);
                                      }
   
                           /* on en fait une moyenne */
   
                                 Moyenne=j/nDuree;
                                 if (!Moyenne)
                                 {
                                   MessageBox(hwnd,"aucun signal détecté\n"
                                   "vérifier la mise en place du capteur\n"
                                   "ou la connection USB","attention...",
                                   MB_OK | MB_ICONWARNING);
                                   return(0);
                                 }   
                                       
                                 Sleep(nIntervalle*60000);
                        /* on affiche cette valeur dans un box */
                                      
                                       *itoa(Moyenne, szMoyenne, 10 );
                                       SetWindowText(hWndEditMoyenne,szMoyenne );
                                       SetFocus( hWndEditMoyenne);
                                      
         /* on incrémente l'indicateur de nombre d'opérations effectuées */           
                                       nb++;
                                      
                     /* on sauvergarde la donnée */                 
                                      
                                       fprintf(fp,
                                       "\nacquisition[%d] = %d bats/min",
                                       nb,Moyenne);
                                      
                                   }

mais peut-t-on (et comment ) lui passer les paramètres à utiliser: nDuree, nIntervalle et nbAcquisition qui eux sont déterminés plus tôt par l'utilisateur. Mais déjà là avec mes Sleep, ça  devrai  marcher non ?
merci si quelqu'un peut m'éclairer
Easy love Baby


Cette discussion est classée dans : fonction, utiliser, thread, comptage, pris


Répondre à ce message

Sujets en rapport avec ce message

Comment utiliser SwitchToThread ?? [ par vinvay ] Losque je veux mettre un thread à la fin de la liste d'ordonnancement, il faut que j'utilise la fonction SwitchToThread() à l'intérieur du thread conc Thread et socket udp [ par eurysthe ] Bonjour !!Voila j'ai un petit problème de thread qui me pourrit la vie.J'ai crée un thread qui doit écouter en boucle les informations qui transite su comptage d'affluence client en fonction des horaires [ par Bart293 ] Bonjour a tous!!! je suis en BTS informatique et réseau et je chercher a concevoir un petit prog afin de compter l'affluence des clients dans un petit Problème de boucle dans un muli-thread [ par vinvay ] Alors voila, j'ai 4 threads qui tournent en même temps, ceux-ci utilisant la même fonction.Dans cette fonction, il y a une première boucle for suivie Keylogger, encore... [ par sebleboss2002 ] Bonjour à tous !J'ai vu que la question à déjà été soulevée sur le forum, mais je n'ai pas trouvé mon bonheur... Ma question est concrète : Je voudrai Dlg de connection [ par coockiesch ] Hello!!!J'aimerait faire 'apparaitre' la boite de dlg de connection internet de windows.J'ai essayé InternetAutodial, mais elle semble avoir aucun eff Utilisation de couleurs en langage C :) [ par did2604 ] Bonsoir,Petite question : pour utiliser des couleurs en langage C, je pense qu'il faut utiliser la fonction "textcolor (numero);" d'après ce que j'ai analyseur d'expression [ par loicus ] Voila, je cherche une fonction, qui pourrait transformer une expression (suite de char) en une ligne de code qui sera utiliser par le programmeex : ma à propos des threads [ par GUERRIER_ABSOLU ] Salut, je voudrais savoir s'i quelqu'un a déjà essayé d'appeler une fonction dans un thread et a remarqué quelque chose d'innatendu. En fait quand j'a Créer un thread et recevoir le résultat [WIN32] [ par Alx1x ] Bonjour. J'ai fait un programme sous Windows en C (avec uniquement l'API windows) avec plusieurs fonctions dont une est blocante. Je voudrais y rajout


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,714 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales