阅读量:2
在C语言中,线程的返回值可以通过使用pthread_join
函数来获取。pthread_join
函数的原型如下:
int pthread_join(pthread_t thread, void **retval);
pthread_join
函数将会阻塞调用线程,直到指定的thread
线程结束。当指定的线程结束后,其返回值将会被存储在retval
指针所指向的位置中。
下面是一个使用pthread_join
函数获取线程返回值的例子:
#include <stdio.h> #include <pthread.h> void *thread_function(void *arg) { int *value = (int *)arg; *value = 10; return NULL; } int main() { pthread_t thread_id; int thread_arg = 0; pthread_create(&thread_id, NULL, thread_function, &thread_arg); pthread_join(thread_id, NULL); printf("Thread return value: %d\n", thread_arg); return 0; }
在上面的例子中,thread_function
函数将会将thread_arg
的值设置为10,并且通过返回NULL
来结束线程。在main
函数中,我们创建了一个线程,并且等待该线程结束。线程结束后,我们将线程的返回值打印出来。在这个例子中,线程返回值为10。