Téléchargement
illégal
Posez votre question Signaler

Thread en C++ [Résolu]

ben - Dernière réponse le 12 févr. 2012 à 22:14
bonjour à tous
voila, je debute en C++ et j'aimerais savoir comment on fait des thread. La total koi, demarrage, arret , coeur du prog...

merci à tous

ben
Lire la suite 

Thread en C++ »

13 réponses
Réponse
+6
moins plus
Slt nina le thread est tt simplement l'evolution d un processus fork();
il est plus léger donc plus rapide.Le langage C++ reste le même que ce soit sur borland ou sur n'importe quel autre compilo.

pour creer un thread tu dois utiliser la commande pthread_create()
Apres tu doit lui donner un attribut par avec le mot attr*
ensuite tu lui fait faire ce que tu veux avec le code d'instruction traditionnelle en genral on l'utilise pour creer un enssemble de processus tres rapide il sert beaucoup dans la programmation systeme on peut le rencontrer dans la programmation reseau. Si tu veux faire un systeme a temp reel par exemple utilise le thread. (la definition precise du therme thread est lien de connection) apres a toi de jouer
Ajouter un commentaire
Réponse
+5
moins plus
Salut Ben

Si t'es sous windows va voir ca :
http://www.alrj.org/docs/systeme/win32thread.pdf

Si tu veux faire du code portable cherche ACE sur le net, c'est une librairie qui enveloppe les appels systemes, y a des classes pour les threads. Par contre elle est un peu encombrante si je me souviens bien.
Ajouter un commentaire
Réponse
+2
moins plus
slt mec cherche sur google tu as des cours detailler
momo006 - 7 déc. 2010 à 20:09
bonne reponse !!
niou - 24 mai 2011 à 22:08
cool de chercher sur google pour tomber sur ce genre de résultats qui t'envoient chercher sur google.
Billgates954 - 16 janv. 2012 à 13:47
Faut savoir utiliser google c'est tout
Ajouter un commentaire
Réponse
+1
moins plus
ok merci je venait de le trouvé moi aussi,
c bon mes thread marche bien

ben
Ajouter un commentaire
Réponse
+1
moins plus
salut tous le monde !Il faut savoir que le C++ est un langage structurale et pas totalement procedural.
Pour le thread tu as la bibliotheque #include <pthread.h> a faire apres tout dépend de ce que tu veut en faire. Si tu veux developper des aplis web je te conseil c# (Csharp).(les pthreads fonctionnent sur touts les types de langage).
Apres pour le C sharp google sera ton meileur ami lol
Ajouter un commentaire
Réponse
+1
moins plus
Pour continuer ce vieux sujet xD ; les threads sont comme je le disait des liens
inter processus qu'on utilise dans les processeur et dans les nouveaux systèmes
d'exploitation afin de pouvoir augmenter leurs performances . On peut mettre un résolu sur le sujet
Ajouter un commentaire
Réponse
-3
moins plus
salut a tout
j ai pas compris qu est ce que le tread et cooment lui appliquer en langage c++ builder
comment faire tout ça
merci d'avance
loupius - 6 avril 2009 à 22:13
Si tu veux poser une question, rien ne t'empêche de le faire, bien au contraire... mais ce n'est pas bien de venir te greffer sur une question posée par quelqu'un d'autre, surtout sur une aussi vieille question.
r - 20 sept. 2009 à 14:58
Merci bine mon
sora - 12 févr. 2012 à 22:14
vous pouvez m aidé pr mmon pgm il sexecute mais n affiche rien
voila le code
#include<stdio.h>

#include<math.h>

#include<stdlib.h>

#include<pthread.h>
#include <errno.h>


int fils1[6];

int fils2[6];

int tab[12];
int droit;
int gauche;
int t[10];



void tri( int t[], int gauche, int droit )



{

int i,j ;int pivot,x ;





i=gauche; j=droit; pivot =t[(i+j)/2] ;


do
{

do



{ i=i+1 ;

}
while (t[i] < pivot);





do

{ j=j-1 ;

}
while (t[j] > pivot);



if ( i<=j )

{

x=t[i];

t[i]=t[j];

t[j]=x;

i=i+1 ;

j=j-1 ;



}
}
while (i>j);


if (gauche<j)

{

tri(t,gauche,j) ;



}



if (i<droit)

{

tri(t,i,droit) ;

}

}



genererNombre(int t[]){//10 nbres aleatoires

int i;

for (i=0;i<11;i++){

t[i]=rand()%50;

//printf("num %d = %d\n",i,t[i]);

}

}



void affect_1()

{

int fils1[5];



int i,m=6;



for (i=0;i<m;i++){



fils1[i]=tab[i];

}

}



void affect_2()

{

int fils2 [6];

int i,p=11;

for (i=6;i<p;i++){

fils2[i]=tab[i];





}

}



main(int tab[])
{

pthread_t f1;
pthread_t f2;


genererNombre(tab);



int k,l ;int pivott,x ;

int p,y,i,j,h,g;
gauche=0;
droit=11;



k=gauche; l=droit; pivott =tab[(i+j)/2] ;


do

{

do
{

k=k+1 ;
}

while (tab[k] < pivott);



do

{

l=l-1 ;

}
while (tab[j] > pivott);




if ( k<=l){

x=t[k];

t[k]=t[l];

t[l]=x;

k=k+1 ;

l=l-1 ;



}



}


while (i<j);


if ( pthread_create(&f1,NULL,(void*(*)())affect_1,NULL)==-1)

perror("pb thread_create\n\n");



if (pthread_create(&f2,NULL,(void*(*)())affect_2,NULL)==-1)

perror("pb thread_create\n\n");


tri(fils1,0,j);



tri(fils2,i,11);



pthread_join(f1,NULL);



pthread_join(f2,NULL);



int v;



for (v=0;v<11;v++){

y=tab[v];

printf("l'element a la position",v,tab[v]);

}



}
Ajouter un commentaire
Ce document intitulé « Thread en C++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?