gpt4 book ai didi

linux - PID和TID之间的区别

转载 作者:IT老高 更新时间:2023-10-28 12:32:30 24 4
gpt4 key购买 nike

PID和TID有什么区别?

标准答案是 PID 用于进程,而 TID 用于线程。但是,我已经看到一些命令可以互换使用它们。例如,htop 有一个 PID 列,其中显示了同一进程的线程的 PID(具有不同的值)。那么PID什么时候代表线程或进程呢?

最佳答案

很复杂:pid是进程标识符; tid 是线程标识符。

但实际上,内核并没有真正区分它们:线程就像进程一样,但它们与同一组的其他实例共享一些东西(内存、fds...)

所以,一个tid实际上是内核(线程)中可调度对象的标识符,而pid是共享的一组可调度对象的标识符内存和 fds(进程)。

但是为了让事情更有趣,当一个进程只有一个线程(初始情况和过去只有一个)时,pidtid总是一样的。因此,任何使用 tid 的函数都会自动使用 pid

值得注意的是,许多功能/系统调用/命令行实用程序记录与 pid 一起使用实际上使用 tids。但是,如果效果是整个过程的,您根本不会注意到差异。

关于linux - PID和TID之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4517301/

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