當前位置:編程學習大全網 - 編程軟體 - 多線程編程linux

多線程編程linux

第壹個問題,無論是創建進程還是創建線程都不會阻塞,創建後會立即返回,不需要等待子進程或線程的操作。

第二個問題

首先,進程和線程是不同的。

在多進程的情況下,如果父進程先結束,那麽子進程會被init進程接收,成為init進程的子進程,然後子進程繼續運行,直到結束。init進程負責獲取這些子進程的結束狀態,並釋放進程資源。如果子進程先結束,那麽父進程就應該使用wait或waitpid來獲取子進程的結束狀態,釋放進程資源,否則子進程就會變成死進程,它所占用的進程資源也不會被釋放。

多線程的時候,如果妳說的父線程或者main在最後用了return或者exit,或者處理完了,那麽整個進程結束,其他子線程自然結束。如果main以pthread_exit結束,則只有父線程結束,子線程仍在運行。類似地,如果在子線程結束時調用exit,那麽整個進程包括父線程的結束。如果pthread_exit被調用或者正常結束,那麽只有子線程結束。

另外,如果子線程的末尾沒有separation屬性,其他線程應該使用pthread_join來獲取線程的結束狀態,釋放線程資源,就像進程中的wait和waitpid壹樣。

  • 上一篇:看過壹部機器人入侵地球的外國電影
  • 下一篇:百旺的稅控盤密碼是多少
  • copyright 2024編程學習大全網