线程ID和进程ID之间的关系
我在进程ID和线程ID之间有一些混淆.我已经经历了几个网络帖子,包括堆栈溢出here,其中说
所以当我运行程序时为什么从程序创建的所有线程都没有不同的PID? 我知道在编程中我们通常会说main是一个线程,执行从main开始,所以如果我从main创建多个线程,所有线程将具有相同的PID,它等于main的PID. 所以我想问的是如下: 1)当我们运行程序时,它将作为进程或线程运行? 2)主线程创建线程和进程创建线程之间有什么区别吗? 3)linux中的线程和进程有什么区别吗?因为我读到某个地方,linux没有区分线程和进程. 最佳答案
简化一下:
> PID是进程ID,TID是线程ID.问题是对于fork()创建的第一个线程,PID = TID.如果使用clone()命令在进程中创建更多线程,则PID和TID将不同,PID将始终小于TID. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |