zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

RK3399平台开发系列讲解(中断篇)13.4、CMWQ(Concurrency Managed Workqueue)

平台开发 系列 讲解 中断 RK3399 Managed Concurrency
2023-09-14 09:13:20 时间

在这里插入图片描述

文章目录

平台 内核版本 安卓版本
RK3399 Linux4.4 Android7.1

workqueue是内核中重要的机制,当您要在单独的进程上下文中执行特定任务时使用,并且广泛用于内核中的各个位置。这
可以看作是线程池的概念,在创建工作队列时,会先创建工作线程,然后在必要的工作发生时使用线程来执行工作。

现有的实现方法在创建工作队列(不在单线程模式下)时创建与系统中CPU数量一样多的worker_threads,然后在创建工作时(通过诸如queue_workschedule_work之类的API),将worker_thread分配给相应的CPU就像执行工作一样。

例如,在具有4CPU内核的系统中,工作队列将如下图所示进行配置: