linux中pthread_create报错
时间: 2023-11-05 19:57:28 浏览: 151
Linux进程控制——线程创建pthread_create()
5星 · 资源好评率100%
linux中pthread_create报错的原因可能是参数设置不正确或者线程创建失败。具体的错误信息可以通过strerror函数获取。需要注意的是,错误码是一个正整数,所以需要使用%u格式符打印错误码。以下是一个示例代码,演示了如何处理pthread_create的错误:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
void *new_thread_start(void *arg) {
printf("新线程 start\n");
sleep(2);
printf("新线程 end\n");
pthread_exit((void *)10);
}
int main(void) {
pthread_t tid;
void *tret;
int ret;
ret = pthread_create(&tid, NULL, new_thread_start, NULL);
if (ret != 0) {
fprintf(stderr, "pthread_create error: %s\n", strerror(ret));
exit(-1);
}
ret = pthread_join(tid, &tret);
if (ret != 0) {
fprintf(stderr, "pthread_join error: %s\n", strerror(ret));
exit(-1);
}
printf("新线程终止, code=%ld\n", (long)tret);
exit(0);
}
```
阅读全文