#include <stdio.h> #include <pthread.h> int x = 0; /* variable partagée */ void* f(void* args){ char* nom = (char*) args; printf("Debut de fonction %s\n", nom); for (int i = 0; i < 100000; i += 1) { x += 1; } printf("Fin de fonction %s\n", nom); return NULL; } int main() { pthread_t t1; pthread_t t2; printf("Le thread principal lance deux nouveaux threads\n"); pthread_create(&t1, NULL, f, "A"); pthread_create(&t2, NULL, f, "B"); printf("Le thread principal attend la fin du thread A\n"); pthread_join(t1, NULL); printf("Le thread principal attend la fin du thread B\n"); pthread_join(t2, NULL); printf("x=%d\n", x); return 0; }