pthread_create 自动回收
时间: 2023-09-22 15:05:38 浏览: 100
传世自动回收
pthread_create函数并不会自动回收线程资源,需要手动调用pthread_join函数来等待线程结束并回收资源。例如:
```c
#include <pthread.h>
#include <stdio.h>
void* thread_func(void* arg) {
// 线程的具体逻辑
return NULL;
}
int main() {
pthread_t tid;
pthread_create(&tid, NULL, thread_func, NULL);
// 等待线程结束并回收资源
pthread_join(tid, NULL);
return 0;
}
```
在主线程中调用pthread_join函数可以使主线程等待指定的子线程结束,并回收子线程的资源。注意,如果没有调用pthread_join函数,那么子线程将成为"detached"状态,意味着线程结束后会自动释放资源,但是无法获取线程的返回值。如果希望获取子线程的返回值,需要使用pthread_join函数。
阅读全文