小编rce*_*tin的帖子

线程中的动态分配和释放

我在一个线程中分配一些内存.当我打电话pthread_detach(pthread_self());这是分配给这个线程通过Linux的内存应该被释放后,线程被终止pthread_exit();pthread_cancel().

我的问题是,我是否还应该释放我用malloc分配的内存?另外,如果线程中的其他函数分配了一些空间,我是否也应该释放这个空间,即使线程终止并 pthread_detach(pthread_self());在线程中调用?

void *test_thread(void * arg)
{
    pthread_detach(pthread_self());

    int *c = malloc(2048);
    pthread_exit(NULL);
}
Run Code Online (Sandbox Code Playgroud)

c linux dynamic-memory-allocation

1
推荐指数
1
解决办法
200
查看次数

标签 统计

c ×1

dynamic-memory-allocation ×1

linux ×1