Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c39904d5
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c39904d5
编写于
7月 21, 2023
作者:
G
ge-yafang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs
Signed-off-by:
N
ge-yafang
<
geyafang@huawei.com
>
上级
37303535
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
3 addition
and
3 deletion
+3
-3
zh-cn/application-dev/arkts-utils/figures/worker.png
zh-cn/application-dev/arkts-utils/figures/worker.png
+0
-0
zh-cn/application-dev/arkts-utils/taskpool-vs-worker.md
zh-cn/application-dev/arkts-utils/taskpool-vs-worker.md
+3
-3
未找到文件。
zh-cn/application-dev/arkts-utils/figures/worker.png
查看替换文件 @
37303535
浏览文件 @
c39904d5
65.2 KB
|
W:
|
H:
68.4 KB
|
W:
|
H:
2-up
Swipe
Onion skin
zh-cn/application-dev/arkts-utils/taskpool-vs-worker.md
浏览文件 @
c39904d5
...
...
@@ -9,7 +9,7 @@ TaskPool(任务池)和Worker的作用是为应用程序提供一个多线程
## 实现特点对比
**表1**
TaskPool和Worker的实现特点对比
**表1**
TaskPool和Worker的实现特点对比
| 实现 | TaskPool | Worker |
| -------- | -------- | -------- |
...
...
@@ -47,7 +47,7 @@ TaskPool偏向独立任务(线程级)维度,超长任务(大于3分钟
## TaskPool运作机制
**图1**
TaskPool运作机制示意图

TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。接口直观易用,支持任务的执行、取消,以及指定优先级的能力,同时通过系统统一线程管理,结合动态调度及负载均衡算法,可以节约系统资源。系统默认会启动一个任务工作线程,当任务较多时会扩容,工作线程数量上限跟当前设备的物理核数相关,为max(3, 物理核数-1)个,长时间没有任务分发时会缩容,减少工作线程数量。
...
...
@@ -56,7 +56,7 @@ TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择
## Worker运作机制
**图2**
Worker运作机制示意图

创建Worker的线程称为宿主线程(不一定是主线程,工作线程也支持创建Worker子线程),Worker自身的线程称为Worker子线程(或Actor线程、工作线程)。每个Worker子线程与宿主线程拥有独立的实例,包含基础设施、对象、代码段等。Worker子线程和宿主线程之间的通信是基于消息传递的,Worker通过序列化机制与宿主线程之间相互通信,完成命令及数据交互。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录