pthread_exit函数用法
时间: 2023-08-25 11:15:15 浏览: 103
pthread_exit函数是一个线程退出函数,用于终止当前线程的执行并返回一个指定的退出码。
其用法如下:
```c
#include <pthread.h>
void pthread_exit(void *retval);
```
参数说明:
- retval:线程的退出码,可以是任意类型的指针。该退出码可以被其他线程通过pthread_join函数获取到。
使用示例:
```c
#include <stdio.h>
#include <pthread.h>
void* thread_function(void* arg) {
int value = *((int*) arg);
printf("Thread value: %d\n", value);
pthread_exit((void*) 0); // 线程退出,返回退出码为0
}
int main() {
pthread_t thread;
int value = 10;
pthread_create(&thread, NULL, thread_function, (void*) &value);
pthread_join(thread, NULL); // 等待线程退出
printf("Main thread exiting\n");
return 0;
}
```
在上述示例中,我们创建了一个新的线程,该线程执行thread_function函数。在thread_function函数中,我们打印出传入的value值,并通过pthread_exit函数退出线程,返回退出码为0。
在主线程中,我们使用pthread_join函数等待子线程退出。最后,主线程打印出"Main thread exiting"后结束执行。
需要注意的是,如果线程没有调用pthread_exit函数而是从线程函数中返回,那么该线程的退出码将会是未定义的。因此,在使用pthread_exit函数时要确保线程在退出前调用它。
阅读全文