Bonjour,
Je fais un program sous Cygwin utilisant des threads et ca marche pas. J'ai donc decide de faire le plus simple possible et ca marche toujours pas! J'utilise le code de Emmanuel Delahaye disponible sur son site (http://mapage.noos.fr/emdel/pthreads.htm) :
Code :
- #include <stdio.h>
- #include <pthread.h>
- static void *task_a (void *p_data)
- {
- puts ("Hello world A" );
- (void) p_data;
- return NULL;
- }
- static void *task_b (void *p_data)
- {
- puts ("Hello world B" );
- (void) p_data;
- return NULL;
- }
- int main (void)
- {
- pthread_t ta;
- pthread_t tb;
- puts ("main init" );
- pthread_create (&ta, NULL, task_a, NULL);
- pthread_create (&tb, NULL, task_b, NULL);
- #if 1
- pthread_join (ta, NULL);
- pthread_join (tb, NULL);
- #endif
- puts ("main end" );
- return 0;
- }
|
et ca me donne le resultat suivant:
Code :
- main init
- Hello world A
|
... comme si le pthread_join n'avait aucun effet... c est le meme probleme que ce que j ai dans mon code plus complique. Je n'y comprends plus grand chose alors toutes pistes serait la bienvenue!
merci