繁体   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