日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 多线程开发-等待线程结束pthread_join

發布時間:2023/12/10 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 多线程开发-等待线程结束pthread_join 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、函數原型

int pthread_join(pthread_t pid, void **value_ptr);
  • pid:所等待的線程ID;
  • value_ptr:通常設置為NULL,如果不為NULL,pthread_join將復制一份線程退出值到一個內存區域,并讓*value_ptr指向該內存。
  • 返回值:執行成功返回0,否則返回錯誤碼。
  • 2、作用

    pthread_creat創建完成子線程后,主線程與子線程并行執行,用pthread_join可以讓主線程等待子線程結束后再繼續執行。

    pthread_join用于等待子線程執行結束,即子線程函數執行完畢才會返回,會一直阻塞。

    主線程調用pthread_join后,主線程會掛起,讓出CPU直到該子線程執行結束。調用pthread_join讓子線程執行結束后,子線程資源會自動釋放。

    3、示例

    #include <pthread.h> #include <stdio.h>void thread_func(void) {int i;for(i = 0; i < 3; i++){printf("thread cur cnt:%d\n",i);}printf("thread_func exit\n");return; } int main(int argc,char *argv[]) {pthread_t thrid;int ret;ret = thread_creat(&thrid,NULL,(void *(*)(void *))thread_func,NULL);if(ret){printf("pthread creat error:%d\n",ret);return -1;}pthread_join(thrid,NULL);return 0; }

    ?

    總結

    以上是生活随笔為你收集整理的Linux 多线程开发-等待线程结束pthread_join的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。