线程的创建与普通的进程创建类似,只不过在调用clone()时需要传递一些参数标志来指明需要共享的资源。因为线程需要共享进程的相关资源,如打开的文件、文件系统信息等。
内核线程的创建必须要另一个内核线程创建。在现有的内核线程中创建一个新的内核线程的方法如:
int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)