在linux系统中,系统对进程和线程的表示都是一样的,都是用task_struck结构。都是用pid标示进程和线程的。对于同一进程中的不同线程,这些线程只是在某些资源共享。由于操作系统把进程和线程都用pid标示。那么在现实情况中需要,在给一进程发生某一信号时,需要该进程中的所有线程都响应该信号。如何做到这个要求呢?就在task_struct结构中引入了一个tgid域,即线程组。可以理解线程组id即为进程id,在该线程组中,其中一个线程的pid=tgid,该进程即为线程组leader,而该线程组中的其他线程的tgid均为该leader的 pid。
参考文献:http://ftcl.hit.edu.cn/main/?p=716
本文深入探讨了Linux系统中进程与线程的表示方式,特别强调了线程组ID在多线程场景下如何确保进程内部所有线程响应特定信号的重要性。通过引入线程组的概念,文章详细解释了如何实现这一功能,对于理解和优化并发编程具有实际指导意义。
3166

被折叠的 条评论
为什么被折叠?



