其他分享
首页 > 其他分享> > 线程释放资源时

线程释放资源时

作者:互联网

在pthread_detach的手册页中,我读到,当任何线程被分离时,然后在线程终止时,它将其资源释放回系统.

什么是线程资源?是它是该线程使用的内存的一部分,如果是的话,则该内存是进程地址空间的一部分.我试图理解这一点,但我确实做到了.

那么,可连接线程呢,线程何时释放其资源?在pthread_join时还是在终止或进程时?

在pthread_cancel命令中释放资源时.

解决方法:

每个线程都会在操作系统中消耗一些簿记资源,并且会在用户空间内存中消耗其自己的执行堆栈.销毁线程时会释放这些资源,这种情况可能在多种情况下发生,例如:

> pthread_join在可连接线程上调用时返回,
>分离线程的入口函数返回,
> main正常返回或调用exit,
>由于收到未处理的信号,该过程终止,
> exec成功调用.

但是,可以退出正在运行主线程的线程,而让其他分离的线程运行.为此,您必须在主线程中调用pthread_exit.

标签:multithreading,pthreads,c-3,linux,process
来源: https://codeday.me/bug/20191122/2057120.html