Thread en C++
Résolu/Fermé
A voir également:
- Thread en C++
- Thread meta - Guide
- Compte thread - Guide
- Exception in thread "main" java.awt.illegalcomponentstateexception: contentpane cannot be set to null. ✓ - Forum Programmation
- Exception in thread "javafx application thread" java.lang.nullpointerexception ✓ - Forum Java
- System thread exception not handled ✓ - Forum Windows 10
7 réponses
olivier.s
Messages postés
49
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
28 mars 2015
15
18 avril 2003 à 14:21
18 avril 2003 à 14:21
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.
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.
Billgates95
Messages postés
43
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2010
24
30 avril 2010 à 15:45
30 avril 2010 à 15:45
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
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
Billgates95
Messages postés
43
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2010
24
7 avril 2010 à 21:54
7 avril 2010 à 21:54
slt mec cherche sur google tu as des cours detailler
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Billgates95
Messages postés
43
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2010
24
10 avril 2010 à 11:52
10 avril 2010 à 11:52
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
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
Billgates95
Messages postés
43
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2010
24
29 déc. 2010 à 14:03
29 déc. 2010 à 14:03
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
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
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
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
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]);
}
}
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]);
}
}