pthread创建分离线程
时间: 2023-08-13 15:05:32 浏览: 99
创建分离线程可以使用pthread库中的pthread_create函数,设置线程属性为分离状态即可。下面是一个示例代码:
```
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
void* thread_func(void* arg) {
printf("This is a detached thread.\n");
return NULL;
}
int main() {
pthread_t thread;
int ret;
pthread_attr_t attr;
ret = pthread_attr_init(&attr);
if (ret != 0) {
fprintf(stderr, "pthread_attr_init error\n");
exit(EXIT_FAILURE);
}
ret = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
if (ret != 0) {
fprintf(stderr, "pthread_attr_setdetachstate error\n");
exit(EXIT_FAILURE);
}
ret = pthread_create(&thread, &attr, thread_func, NULL);
if (ret != 0) {
fprintf(stderr, "pthread_create error\n");
exit(EXIT_FAILURE);
}
pthread_attr_destroy(&attr);
printf("Main thread exits.\n");
return 0;
}
```
这个程序创建了一个分离线程,线程函数是`thread_func`,在线程函数中打印一条信息。主线程创建线程之后即退出,因为分离线程在结束时自动释放资源,不需要主线程等待。
阅读全文