为什么我们无法从分离的线程中获取线程终止代码?

问题描述 投票:0回答:1

我的问题很奇怪,但就是这样。我的问题:是否有任何解释为什么 posix 线程开发人员无法从分离的线程获取退出代码?

我了解什么是可连接线程和分离线程,以及它们有何不同。

pthreads posix
1个回答
0
投票

为什么 posix 线程开发人员无法从分离线程获取退出代码

因为他们不知道何时,您可能会要求提供此退出代码。

为了提供分离线程的退出代码,该信息必须保存在某处,从而消耗存储空间。由于不可能说“我们不再需要此存储”(因为您可以在将来的任何时候请求此退出代码),因此该存储必须永远存在。

如果您的应用程序在循环中创建和销毁分离的线程,这将导致 POSIX 线程库消耗越来越多的空间,这看起来像内存泄漏。

将此与非分离线程进行对比,在非分离线程中,存储将一直保留,直到您调用

pthread_join()
,之后任何存储都可以安全地重新使用。

© www.soinside.com 2019 - 2024. All rights reserved.