C语言怎么获取线程返回值

avatar
作者
筋斗云
阅读量: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。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!