1、工作队列结构体
struct work_struct {
atomic_long_t data;
struct list_head entry;
work_func_t func; //函数指针,指向func函数
#ifdef CONFIG_LOCKDEP
struct lockdep_map lockdep_map;
#endif
};
2、可用于中断上下文,可以休眠。
3、用法
INIT_WORK(work, func);
//其中参数1是个work_struct结构体,参数2是个函数名,通过INIT_WORK将work_struct与一个函数建立起来.
schedule_work(work);
//通知内核线程,在后续的时间里,系统将会自动调用work结构体对应的func函数
bool cancel_work_sync(struct work_struct *work);
//取消work结构体对应的func函数,一般在exit中使用