#include #include #include #include #include "thread.h" /* test de plein de create, puis plein de join quand ils ont tous fini * * valgrind doit etre content. * la durée du programme doit etre proportionnelle au nombre de threads donnés en argument. * jusqu'à combien de threads cela fonctionne-t-il ? * * support nécessaire: * - thread_create() * - thread_exit() * - thread_join() sans récupération de la valeur de retour */ static void * thfunc(void *dummy __attribute__((unused))) { thread_exit(NULL); return (void*) 0xdeadbeef; /* unreachable, shut up the compiler */ } int main(int argc, char *argv[]) { thread_t *th; int err, i, nb; struct timeval tv1, tv2; unsigned long us; if (argc < 2) { printf("argument manquant: nombre de threads\n"); return -1; } nb = atoi(argv[1]); th = malloc(nb*sizeof(*th)); if (!th) { perror("malloc"); return -1; } gettimeofday(&tv1, NULL); /* on cree tous les threads */ for(i=0; i