bonjour à tous,
je souhaiterai faire que dans un programme déjà exécuté lancer un thread par l'intermédiaire d'un autre programe. j'ai déjà sus le faire avec 1 sémaphore sous windows m'ai j'arrive pas la reproduire sous linux
voici le code du programe 1
voici le coded du programe qui va débloque la thread affichage
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 #include <pthread.h> #include <sys/sem.h> #include <sys/wait.h> #include <semaphore.h> #include <iostream> using namespace std; sem_t mutex; void* affichage (void* name) { int i = 0; for(;;) { sem_wait(&mutex); /* prologue */ cout << "salut "<<i<<endl; i++; // sem_post(&mutex); /* epilogue */ } } int main(int argc,char *argv[]){ pthread_t filsA; void* AA; sem_init(&mutex,0 , 1); // sem_wait(&mutex); pthread_create(&filsA, NULL, affichage, AA); pthread_join(filsA, NULL); cout <<"Fin du pere\n" ; return 0; }
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 #include <pthread.h> #include <semaphore.h> #include <iostream> using namespace std; sem_t mutex; int main(int argc,char *argv[]){ sem_init(&mutex,0 , 1); sem_post(&mutex); cout <<"Fin du pere\n" ; return 0; }
je sais pas pour quoi sa fonctionne pas.
quelqu'un serait-il m'aider?
merci d'avance
lermit
Partager