Bonjour,
je débute dans les threads avec pthread sous linux et j'ai créé un programme qui créer des threads à chaque fois que je tape un chiffre non nul:
le thread est lancé et doit normalement se quitter avec pthread_exit() et donc liberer la mémoire qu'il utilisais si j'ai bien compris.
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 #include <stdio.h> #include <stdlib.h> #include <pthread.h> void *threadfonction(void *param) { pthread_exit(NULL); } int main() { pthread_t t; int val; do { pthread_create(&t, NULL, threadfonction, NULL); scanf("%d",&val); }while(val); }
Mais visiblement on dirais que je thread ne se quitte pas : initialement la commande top m'informe que mon programme(une fois lancé bien sur) prend N octets en mémoire.
Dès que je rentre un chiffre non nul, mon programme créer un thread donc "top" me donne une taille plus grande que N mais celle ci ne redescend pas à l'etat initial(N octet) alors qu'elle devrais le faire puisque le thread se termine...
qu'est ce que vous en penser?
Partager