Bonjour,

j'ai besoin d'utiliser les threads dans le cadre d'un systeme de chat, seulement, j'ai (vraiment) des problemes avec ceux ci.

En effet, je me suis cassé les dents sur Boost::thread pour ensuite m'orienter vers les pthread.

Voila mon problème : j'ai créé un petit programme bidon (deux boucles qui affichent du texte) simplement pour essayer les thread, seulement impossible d'avoir un affichage venant du thread créé, pourtant aucune erreur de compilation.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
#include <iostream>
#include <pthread.h>    
 
using namespace std;
 
int a = 0, b = 0;
void data_send(void *)
{
     while (a<5)
     {
           cout << "1234" << endl;
           a++;
     }
}
 
void data_recv()
{ 
     while (b<5)
     {
           cout << "abcd" << endl;
           b++;
     }
}
 
int main(int argc, char *argv[])
{
    int pthread_create(pthread_t *tid, pthread_attr_t *attributs, void *(*data_send)(void *), void *arg);
    data_recv();
    system("PAUSE");
    return 0;
}
et voici l'affichage que j'obtient :

abcd
abcd
abcd
abcd
Pourquoi ne m'affiche-t-il pas également 1234 ?

Merci d'avance