生活随笔
收集整理的這篇文章主要介紹了
Linux内核中工作队列的使用work_struct,delayed_work
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
初始化工作隊(duì)列
調(diào)度工作隊(duì)列
取消工作隊(duì)列
[cpp]?view plain
?copy#include?<linux/module.h>??#include?<linux/sched.h>??#include?<linux/kthread.h>??#include?<linux/err.h>??#include?<linux/delay.h>????static?struct?work_struct?test_work;??static?struct?delayed_work?test_delayed_work;????static?void?test_func(struct?work_struct?*work)??{??????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);????}????static?void?test_delayed_func(struct?work_struct?*work)??{??????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);????}????static?int?__init?test_init(void)??{??????int?ret;??????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);????????INIT_WORK(&test_work,?test_func);??????ret?=?schedule_work(&test_work);????????INIT_DELAYED_WORK(&test_delayed_work,?test_delayed_func);??????ret?=?schedule_delayed_work(&test_delayed_work,?5?*?HZ);????????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);????????return?0;??}????static?void?__exit?test_exit(void)??{??????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);??????cancel_work_sync(&test_work);??????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);??????cancel_delayed_work_sync(&test_delayed_work);??????printk("%s,?%d,?%ld\n",?__func__,?__LINE__,?jiffies);??}????module_init(test_init);??module_exit(test_exit);??MODULE_AUTHOR("tony");??MODULE_DESCRIPTION("test");??MODULE_LICENSE("GPL");??MODULE_ALIAS("test");??
總結(jié)
以上是生活随笔為你收集整理的Linux内核中工作队列的使用work_struct,delayed_work的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。