【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

linux内核工作队列讲解和源码详细注释

放大字体  缩小字体 发布日期:2020-09-19 23:48:10    浏览次数:7
导读

  工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法。  在workqueue的初始化函数中, 定义了一个针对内核中所有线程可用的事件工作队列, 其他内核线程建立的事件工作结构就都挂接到该队列:void init_workqueues(void)  { // 每个CPU的工作队列struct cpu_workqueue_struct *cwq

  工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法。

  在workqueue的初始化函数中, 定义了一个针对内核中所有线程可用的事件工作队列, 其他内核线程建立的事件工作结构就都挂接到该队列:void init_workqueues(void)

  { // 每个CPU的工作队列struct cpu_workqueue_struct *cwq = per_cpu_ptr(wq-cpu_wq, cpu);struct task_struct *p;spin_lock_init(cwq-lock);// 初始化cwq-wq = wq;cwq-thread = NULL;cwq-insert_sequence = 0;cwq-remove_sequence = 0;INIT_LIST_HEAD(cwq-worklist);// 初始化等待队列more_work, 该队列处理要执行的工作结构init_waitqueue_head(cwq-more_work);// 初始化等待队列work_done, 该队列处理执行完的工作结构init_waitqueue_head(cwq-work_done);// 建立内核线程work_thread if (is_single_threaded(wq))

 
关键词: linux内核讲解
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.31duo.com/news/show-558617.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4