要判断pthread_create
是否成功,您可以检查它的返回值
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *my_thread(void *arg) {
// 线程执行的代码
return NULL;
}
int main() {
pthread_t thread_id;
int result;
// 创建线程
result = pthread_create(&thread_id, NULL, my_thread, NULL);
// 检查pthread_create是否成功
if (result != 0) {
fprintf(stderr, "Error: pthread_create failed, return code %d\n", result);
return 1; // 返回一个非零值表示程序出错
} else {
printf("pthread_create succeeded, thread ID is %ld\n", (long)thread_id);
// 在此处执行其他操作,例如等待线程结束
pthread_join(thread_id, NULL);
}
return 0;
}
在这个示例中,我们首先调用pthread_create
函数来创建一个新线程。然后,我们检查它的返回值。如果返回值不等于0(表示错误),我们打印一条错误消息并返回一个非零值。否则,我们打印一条成功消息并继续执行其他操作,例如使用pthread_join
等待线程结束。