程序主線程與子執行緒執行順序控制

2021-10-06 12:04:21 字數 1098 閱讀 5295

;//全域性變數,用於檢視主線程和子執行緒對其修改

void

*thread_function

(void

*arg)

intmain()

printf

("main thread is waiting for thread to finish by join...\n");

res =

pthread_join

(threadch,

&thread_result)

;//讓執行緒等待

if(res !=0)

printf

("child thread returned %s\n",(

char

*)thread_result)

;printf

("message now is %s\n"

, message)

;exit

(exit_failure);}

//main

/*gcc 5-11mythread.c -l pthread

./a.out

main thread is waiting for thread to finish by join...

===child run and want to sleep(5). message now is hello world

此處等待5秒

child thread returned ===thank you for your cpu time!

message now is hello father!

*/執行緒即要共享資源,也要有序使用;

join控制子執行緒寫後主執行緒讀

控制主線程與子執行緒執行順序

是從往往下順序執行,所以主線程執行完畢才能執行子執行緒,只要主線程 在子執行緒的start 方法之前就可以。子執行緒執行完畢,主線程才能繼續執行,最簡單方法是在主線程內子執行緒呼叫join 方法,如果是多個子執行緒執行完畢才能執行主線程,可以使用countdownlatch類。在主線程中執行awai...

python主線程與子執行緒的結束順序

對於程式來說,如果主程序在子程序還未結束時就已經退出,那麼linux核心會將子程序的父程序id改為1 也就是init程序 當子程序結束後會由init程序來 該子程序。主線程退出後子執行緒的狀態依賴於它所在的程序,如果程序沒有退出的話子執行緒依然正常運轉。如果程序退出了,那麼它所有的執行緒都會退出,所...

Android UI主線程與子執行緒

乙個android 程式預設情況只有乙個程序,但是乙個程序可以有多個執行緒。其中有乙個ui 執行緒也稱為ui主線程,ui thread在android程式執行的時候就被建立,主要是負責控制ui介面的顯示 更新和控制項互動。所有的android應用程式元件 包括activity service bro...