一、用法
工作队列的使用很简单。
1.首先是建立一个工作队列:
2.然后就是在这个队列中insert你所要做的“工作”:
初始化有两种方法。
一种为静态方法:
另一种为动态方法:
二、执行过程
create_workqueue() -> __create_workqueue()
create_workqueue() -> __create_workqueue() -> create_workqueue_thread()
create_workqueue() -> __create_workqueue() -> create_workqueue_thread() -> worker_thread()
create_workqueue() -> __create_workqueue() -> create_workqueue_thread()
-> worker_thread() -> run_workqueue()
三、工作线程创建的详细过程
create_workqueue() -> __create_workqueue() -> create_workqueue_thread()
-> kthread_create()
create_workqueue() -> __create_workqueue() -> create_workqueue_thread()
-> kthread_create()-> keventd_create_kthread()
四、插入“工作”