linux进程管理(3)——线程
在开始讨论线程之前,首先我想要指出的是,在Linux系统中,内核不分为线程和进程,统一作为进程参与调度。每一个内核线程都有属于自己的task_struct结构。
线程的创建与普通的进程创建类似,只不过在调用clone()时需要传递一些参数标志来指明需要共享的资源。因为线程需要共享进程的相关资源,如打开的文件、文件系统信息等。
内核线程的创建必须要另一个内核线程创建。在现有的内核线程中创建一个新的内核线程的方法如:
int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)