1、定时数据结构
struct work_struct work;
struct workqueue_struct *wq;
2、编写要在工作队列中被调用的函数,函数原形如下:
typedef void (*work_func_t)(struct work_struct *work);
3、创建一个专用的内核线程来执行提交到工作队列中的函数
wq = create_singlethread_workqueue(const char *name);
4、初始化数据结构
INIT_WORK(struct work_struct *work, work_func_t func);
5、将任务提交到工作队列
queue_work(struct workqueue_struct *wq, struct wor_struct *work);
6、在结束对工作队列的使用后,释放资源
void destory_workqueue(struct workqueue_struct *wq);
其中,第6项不是必须的,根据实际情景选择是否使用。