pthread_join函数:利用子线程等待回收主线程的资源

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>


pthread_t pid;        //存储主线程id

void *con_do(void *arg){
    int *main_statu;
    // 1.等待主线程结束并回收资源
    pthread_join( pid, (void **)&main_statu);
    printf("%d\n",*main_statu);
    pthread_exit(NULL);
}

int main(){
    // 1.创建子线程,并运行
    pthread_t pid1;
    pthread_create( &pid1, NULL, con_do, NULL);
    
    // 2.获取主线程的线程id
    pid = pthread_self();

    // 3.等待5秒后退出主线程
    int exit_statu = 3;                     //退出状态
    sleep(5);
    pthread_exit((void *)&exit_statu);
}
posted @ 2026-09-17 17:59    阅读(2)  评论(0)    收藏  举报