linux下的C語言開發(十) 執行緒等待

2021-10-09 22:00:41 字數 649 閱讀 9333

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread_join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。

#include #include #include #include void func_1(void* args)

void func_2(void* args)

int main()

pthread_join(pid1, null);

printf("this is end of func_1!\n");

if(pthread_create(&pid2, null, func_2, null))

pthread_join(pid2, null);

printf("this is end of func_2!\n");

return 0;

}

編寫wait.c檔案結束之後,我們就可以開始編譯了。首先你需要輸入gcc wait.c -o wait -lpthread,編譯之後你就可以看到wait可執行檔案,輸入./wait即可。

嘗試在第二個執行緒之後,不加入pthread_join,直接printf,發現  this is end of func_2出現在this is func_2之前,即在程序結束前後面**已經執行。

linux下的C語言開發(執行緒等待)

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。include include include include void func void args int main pthread join p...

linux下的C語言開發(執行緒等待)

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。cpp view plain copy include include include include void func void args int...

linux下的C語言開發(執行緒等待)

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。cpp view plain copy include include include include void func void args int...