Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
659 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] Débutant en threads

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Débutant en threads

n°38531
antsite
Je me souviens
Posté le 10-06-2001 à 18:14:08  profilanswer
 

J'essaie d'utiliser les threads mais je n'y arrive pas. Voici un petit bout de code qui montre comment je les utilise.
Il y a peut-être d'énormes erreurs car je ne connais pas grand chose avec les threads :-)
 
#include <windows.h>
#include <process.h>
#include <stdio.h>
#include <conio.h>
 
void press(void*);
void loop(void*);
int stop = 0;
 
void main(void)
{
 _beginthread(press,0,NULL);
 _beginthread(loop,0,NULL);
 
}
 
void press(void*)
{
 getch();
 stop = 1;
}
 
void loop(void*)
{
 int i = 0;
 
 while(stop == 0)
 {
  printf("%d\n",i);
  i++;
  Sleep(100);
 }
 _endthread();
}

mood
Publicité
Posté le 10-06-2001 à 18:14:08  profilanswer
 

n°38657
antsite
Je me souviens
Posté le 11-06-2001 à 10:41:41  profilanswer
 

Help !

n°38665
tgrx
My heart is pumping for love
Posté le 11-06-2001 à 10:50:33  profilanswer
 

Ben moi j'ai jamais utilise les threads, et ton code m'a l'air correct... ca compile parfaitement ? Que se passe-t-il a l'execution ?

n°38801
antsite
Je me souviens
Posté le 11-06-2001 à 16:21:31  profilanswer
 

Ca compile sans pb, mais à l'éxécution je voulais que ça boucle tant que l'on appuie pas sur une touche mais ça fais rien du tout, même pas une boucle.
Je sais que c facile de faire ça sans les threads, mais je veux les utiliser pour un programme plus tard.

n°38856
SoWhatIn22
Posté le 11-06-2001 à 18:56:08  profilanswer
 

ben c normal que ca ne fasse pas de boucle: dans ton main, tu lances 2 threads et puis tu sors du programme.... Donc une fois que tu as executé ton main, le programme est fini.
 
Si tu veux que cela fonctionne, il faut que tu attendes que le thread te signale qu'il a détécté une frappe au clavier.  Un exemple tout bete, tres simple, même si vraiment tres crade niveau programmation:
 
 
#include <windows.h>
#include <process.h>
#include <stdio.h>
#include <conio.h>
void press(void*);
void loop(void*);
int stop = 0;
int flag_sync = 0; //
 
void main(void)
{
_beginthread(press,0,NULL);
_beginthread(loop,0,NULL);
 
while(flag_sync == 0) Sleep(10);
}
 
void press(void*)
{
getch();
stop = 1;
}
void loop(void*)
{
  int i = 0;
  while(stop == 0)
  {
    printf("%d\n",i);
    i++;
    Sleep(100);
  }
 
  flag_sync = 1;
  _endthread();
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] Débutant en threads

 

Sujets relatifs
[JavaScript]Quelques notions pour debutantDsl, débutant complet en C++
[MySQL] Débutant please help ![XSL] petit problème de débutant
[JAVA] Exercise pour Débutant!!!!!C++, prog Win32, question simple de débutant !
[JAVA] RMI debutantDebutant pur en Visual c++
C++ débutant...besoin d'idee de programme en C pour un debutant.....
Plus de sujets relatifs à : [C++] Débutant en threads


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR