1、在模块初始化时,可以进行线程的创建。使用下面的函数和宏定义:
2、创建线程具体过程,示例如下:static struct task_struct *test_task;接下图内容。
3、在线程函数里,完成所需的业务逻辑工作。主要框架如下所示:int threadfunc(void *data){…接下图内容:
4、在模块卸载时,可以结束线程的运行。使用下面的函数:int kthread_stop猾诮沓靥(struct task_struct *k);例如:
5、总结:1、创建线程;2、利用线程函数,完成所需业务逻辑;3、结束线程。