gpt4 book ai didi

linux - linux内核如何决定下一个线程id

转载 作者:太空宇宙 更新时间:2023-11-04 12:58:02 24 4
gpt4 key购买 nike

我有一个关于 Linux 内核调度的问题。

我们知道,通常linux会维护当前最大的pid。如果我们想启动一个新进程,内核将使用那个最大的 id。因此,如果我们终止并重新启动一个新进程,则进程 ID 不是连续的。 Linux 将使用最大的 id 直到达到限制。

但我的问题是 linux 是如何决定线程 ID 的。比如说,进程 A 和 B 正在运行。进程 A 崩溃,但进程 B 正在生成新线程。进程 B 是否只是重用属于进程 A 的旧 tid,或者,进程 B 也将使用最大的 id 作为 tid。哪种情况更常见?我们有文件吗?

谢谢。

最佳答案

内核设置进程/线程 ID 的最大数量,并在线程被垃圾收集时简单地回收标识符。因此,如果进程 B 产生了足够多的线程,它最终会从进程 A 中回收线程 ID,假设它已被正确销毁

编辑:这里有一些链接可以为您提供更具体的答案

pid 和 tid 的区别 https://stackoverflow.com/a/8787888/5768168

“thread和process id的取值范围是多少?” what is the value range of thread and process id?

《Linux PID回收》 https://stackoverflow.com/a/11323428/5768168

“进程标识符” https://en.wikipedia.org/wiki/Process_identifier#Unix-like

“Linux 内核:进程” https://www.win.tue.nl/~aeb/linux/lk/lk-10.html

关于linux - linux内核如何决定下一个线程id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35069839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com