Я столкнулся с ситуацией, когда потоки, которые я создаю съемными, не освобождают память после того, как они вышли.Стек отдельных потоков никогда не был выпущен
Я попытался создать нити следующими способами
1-
pthread_attr_setdetachstate(&pthread_attributes, PTHREAD_CREATE_DETACHED);
pthread_create(&thread_id, &pthread_attributes, establish_connection,
(void *) establish_connection_arguments);
2-
pthread_create(&thread_id, &pthread_attributes, establish_connection,
(void *) establish_connection_arguments);
pthread_detach(thread_id);
3-
pthread_create(&thread_id, &pthread_attributes, establish_connection,
(void *) establish_connection_arguments);
void *establish_connection(void *arguments) {
pthread_detach(pthread_self());
return NULL;
}
Я уверен, что память по-прежнему сохраняется, поскольку ртар подтверждает это.
Является ли это обычным поведением, что pmap все еще будет показывать потоки с их памятью после завершения потоков?