您的位置:首页 > 运维架构 > Linux

Linux工作队列的使用

2014-10-09 16:59 176 查看

1,定义工作结构体变量bat_work

static struct work_struct bat_work;

2,编写一个实现某功能的工作处理函数

static void wm97xx_bat_work(struct work_struct *work)

{

 wm97xx_bat_update(&bat_ps);

}

3,初始化工作队列,

 INIT_WORK(&bat_work, wm97xx_bat_work);

初始化指定工作,目的是把用户指定的函数wm97xx_bat_work赋给work_struct的func变量。

 4,对工作进行调度,

  schedule_work(&bat_work);

添加入队列的工作完成后会自动从队列中删除

5,cancel_work_sync(&bat_work);

取消一个已提交给工作队列入口项

6, flush_work_sync(&bat_work);

等待任务完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: