目录
一、什么是Workqueue延时工作队列
在了解什么是Workqueue延时工作队列之前,可以先回顾下什么是Workqueue工作队列([RK3568 Android11] 教程之Workqueue工作队列);
顾名思义,延时工作队列就是在工作队列的基础上,添加延时;上篇讲到工作队列的queue_work调度函数,会立马去调用指定的工作函数;而延时工作队列是在调度函数里指定延时多长时间才会去调用指定的工作函数;
当你想延时几秒或者几毫秒再去执行一个任务时,延时工作队列是你最好的选择。在驱动中,使用queue_delayed_work调度工作,就可以每隔一段时间执行一次你的任务;
延时工作队列其实类似timer定时器,区别在于:延时工作队列中可以使用睡眠函数(msleep等),而定时器不行;
工作队列中,等待队列是暂时被挂起的任务队列,或者有些任务无事可做处于休眠状态的任务,它们会在某些条件触发下唤醒;