Linux内核中工作队列的使用work_struct,delayed_work【转】
2017-12-28 15:16
846 查看
本文转载自:http://blog.csdn.net/zahuopuboss/article/details/43268983
初始化工作队列
调度工作队列
取消工作队列
初始化工作队列
调度工作队列
取消工作队列
#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");
相关文章推荐
- Linux内核中工作队列的使用work_struct,delayed_work
- hrtimer和work工作队列的使用
- 内核的 工作队列 使用方法,struct work_struct
- 延时工作队列INIT_DELAYED_WORK
- 工作队列 工作线程 工作(work_struct)
- linux 工作队列之schedule_delayed_work
- 如何使用Linux工作队列workqueue
- linux工作队列 - 把work_struct加入工作队列
- 内核的 工作队列 使用方法,struct work_struct
- hrtimer和work工作队列的使用
- 内核的 工作队列 使用方法,struct work_struct
- hrtimer和work工作队列的使用
- linux work queue工作队列小结与使用
- linux工作队列 - work_struct被调用过程
- Linux内核的中断处理:work_struct && 定时处理delayed_work
- 工作队列 schedule_delayed_work/schedule_work_on/schedule_work函数内核实现
- 内核的 工作队列 使用方法,struct work_struct
- linux 工作队列之queue_delayed_work
- 工作队列-schedule_delayed_work()用法
- linux内核工作队列的使用方法