我目前正在研究与 Linux 操作系统中的线程相关的问题。我知道进程是由 Linux 内核中的调度程序启动的,但是是什么启动进程内的线程 - Linux 内核调度程序或 Linux 内核中的其他服务?
请帮忙解答这个问题。
谢谢
答案1
在Linux中,进程和线程是通过调用创建的fork
,clone
,以及其他类似的系统调用和 C 库函数。大多数程序员不会clone
直接调用;相反,他们会使用线程库(pthreads、C++ 线程以及他们选择的语言中使用的任何其他表示形式)。
进程和线程都是开始了由调度程序。事实上,Linux 中的调度程序主要关注线程,而“无”线程的进程实际上是同一进程中没有兄弟姐妹的线程。看为什么线程有自己的PID?