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:
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);
}
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.
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?