程序的入口函式 執行緒程序的關係

2021-08-11 19:30:11 字數 703 閱讀 2137

>>結束整個應用程式,子執行緒要結束的話 return執行緒函式。

程序的入口函式中,result=main(); exit(result)直接就關閉應用程式,結束程序了。

所以,無論哪個執行緒執行exit(),程序都會結束。

----exit與return的區別?

>>

----多執行緒情況下,主線程先退出,子執行緒會被強制退出嗎?

>>main函式所在的執行緒退出時,子執行緒都會退出。

子執行緒退出時,不影響其他的執行緒。(子執行緒退出,孫執行緒不受影響)

除了main所在的執行緒,其他的執行緒級別都是一樣的。

main所在的執行緒執行pthread_exit,則其他執行緒不會退出。執行了

pthread_exit後main函式提前退出了,並沒有執行預設的exit函式,

其他執行緒仍舊執行,直到最後乙個執行緒執行結束?這個我也不確定了

詳細:----exit與pthread_exit

exit(result)退出程序,如果是子程序的話,父程序可以wait(result)

pthread_exit(result)退出執行緒,執行緒的創造者可以pthread_join(result)

最新實驗結果表明會造成pthread_cleanup_push+pthread_cleanup_pop不鳥return,只理pthread_exit(),以後就死心地用pthread_exit就好。

詳細:

程序和執行緒的關係

程序是系統資源管理的最小單位,執行緒是程式執行的最小單位。執行緒和程序十分相似,不同的只是執行緒比程序小。首先,執行緒採用了多個執行緒可共享資源的設計思想。例如,它們的操作大部分都是在同一位址空間進行的。其次,從乙個執行緒切換到另一線程所花費的代價比程序低。再次,程序本身的資訊在記憶體中占用的空間比...

父程序,子程序,執行緒之間的關係

1 父子程序之間的關係 關於資源 子程序得到的是除了 段是與父程序共享的意外,其他所有的都是得到父程序的乙個副本,子程序的所有資源都繼承父程序,得到父程序資源的副本,既然為副本,也就是說,二者並不共享位址空間。兩個是單獨的程序,繼承了以後二者就沒有什麼關聯了,子程序單獨執行。採用寫時複製技術 關於檔...

父程序,子程序,執行緒之間的關係

1 父子程序之間的關係 子程序得到的除了 段是與父程序共享以外,其他所有的都是得到父程序的乙個副本,子程序的所有資源都繼承父程序,得到父程序資源的副本,二者並不共享位址空間。兩個是單獨的程序,繼承了以後二者就沒有什麼關聯了,子程序單獨執行。採用寫時複製技術 關於檔案描述符 繼承父程序的檔案描述符時,...