簡體   English   中英

當線程釋放其資源時

[英]When thread release its resources

pthread_detach手冊頁中,我讀到當任何線程被分離時,然后在線程終止時它將其資源釋放回系統。

什么是線程資源?它是該線程使用的內存的一部分,如果是,則該內存是進程地址空間的一部分。 我試圖理解這一點,但我得到了它。

那么可連接線程呢,什么時候線程釋放它的資源? pthread_join或在終止或處理時?

pthread_cancel命令中釋放資源時。

每個線程都會占用操作系統中的一些簿記資源,以及用戶空間內存中自己的執行堆棧。 線程被銷毀時會釋放這些資源,這可能在多種情況下發生,例如:

  • pthread_join在可連接線程上調用時返回,
  • 分離線程的入口函數返回,
  • main返回正常或exit調用,
  • 由於收到未處理的信號,該過程終止,
  • exec被成功調用。

但是,可以退出運行main的線程並使其他已分離的線程繼續運行。 為此,您必須在主線程中調用pthread_exit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM