Advertisement

[Linux API]: Linux工作队列

阅读量:

1,功能描述:

Linux系统中引入的Workqueue机制旨在降低内核线程创建的复杂性。通过调用workqueue提供的接口,即可完成内核线程的生成过程。同时,该机制能够依据当前系统所配备的CPU数量动态调整线程数量,从而实现任务处理的并行化操作。作为内核中一种实现简便且高效的机制,workqueue有效简化了内核守护进程的创建流程,为用户编程提供了便利。

工作队列(workqueue)是另一种将任务延迟执行的方式。它能够将待处理的任务提交至一个内核线程进行执行,这意味着这一部分操作可以在进程上下文中完成。其关键优势在于支持任务的重新调度以及允许线程进入睡眠状态。

2,结构体/源码相关

被延迟执行的操作被定义为任务,其对应的结构体即为工作结构体。

复制代码
    //参考文件 kernel/include/linux/workqueue.h
    struct work_struct {
    atomic_long_t data;     //paramters of work func 宏做函数的参数
    struct list_head entry;   //work node point链接结构提指针  ,一个链表节点
    work_func_t func;    //deal with work func 处理工作的函数,typ

全部评论 (0)

还没有任何评论哟~