3 退出和取消程序

2021-06-17 17:50:32 字數 415 閱讀 2148

《pthread_create()初體驗》裡曰過:

程序的終止可以通過在主函式main()中直接呼叫exit、return、或者通過程序中的任何其它程序呼叫exit來實現。在任何一種情況下,該程序的所有程序都會終止。如果主線程在建立了其它程序之後沒有工作可做,或者說主線程有必要等到其他程序都結束才結束的情況下,主線程應該阻塞到所有程序都結束為止。

「程序的終止可以通過在主函式main()中直接呼叫exit、return」還比較容易理解,後面半句「或者通過程序中的任何其它程序呼叫exit來實現」如何理解呢?

#include #include #include void *sayhello(void *args)

int main(void)

編譯此程式然後執行一下就明白了。

1 執行緒的取消 強制使程序退出

不建議使用取消介面來使執行緒退出 向執行緒傳送取消請求 pthread cancel pthread t thread 1.乙個執行緒可以通過呼叫該函式向另乙個執行緒傳送取消請求。2.如果成功,該函式返回0,否則將錯誤碼返回。3.這不是個阻塞型介面,發出請求後,函式就立刻返回了,而不會等待目標執行緒...

程序的等待和退出

等待和退出實際上是父子程序之間的一種互動,完成子程序的資源 關於wait 的實現,實際上是把程序的狀態改為 sleep 那麼這兩者誰先發生呢?先後順序有什麼影響?1.當有子程序存活時,父程序進入等待狀態,等待子程序的返回結果 當某子程序呼叫exit 時,喚醒父程序,將exit 返回值作為父程序中wa...

程序退出 exit 和 exit

void exit int value 是標準庫函式,在標頭檔案 stdlib.h 中定義。具有重新整理 i o 緩衝區的作用。他的引數 value 是返回給父程序的資料 低 8 位有效 void exit int value 是系統呼叫函式,在標頭檔案 unistd.h 中定義。沒有重新整理 i ...