;//全域性變數,用於檢視主線程和子執行緒對其修改
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...