如何解决应用需要避免开辟过多线程,并发处理任务数量受限,无法充分发挥设备性能的问题
如何解决应用需要避免开辟过多线程,并发处理任务数量受限,无法充分发挥设备性能的问题
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
应用线程过多时如何处理
182浏览 • 1回复 待解决
ArkTS中使用多线程如何处理并发和同步
587浏览 • 1回复 待解决
编译openharmony2.0怎么改变任务并发数量
3685浏览 • 1回复 待解决
如何处理推送数量不够用问题
152浏览 • 1回复 待解决
在多线程并发场景中,如何实现安全访问同一块共享内存
158浏览 • 1回复 待解决
ArkTs多线程方案如何保证线程安全
426浏览 • 1回复 待解决
this传递问题,该如何解决?
334浏览 • 1回复 待解决
openharmony使用worker多线程处理事件返回数据如何实时渲染UI
325浏览 • 0回复 待解决
如何解决文件的中文乱码问题
462浏览 • 1回复 待解决
鸿蒙事件拦截分发处理
8684浏览 • 2回复 待解决
鸿蒙应用向安卓应用传递文件时如何解决权限问题 ?
1334浏览 • 1回复 待解决
如何实现多线程数据共享
225浏览 • 1回复 待解决
HarmonyOS如何解决数据存储问题?
7202浏览 • 3回复 已解决
关于node和mysql并发处理的小问题有知道的吗?
496浏览 • 1回复 待解决
如何解决hilog.debug日志无法打印
482浏览 • 1回复 待解决
ArkTS有哪些线程安全的数据类型,多线程方案如何保证线程安全
180浏览 • 1回复 待解决
应该如何设计大量线程并发方案
220浏览 • 1回复 待解决
组件需要多次更新时如何优化性能
223浏览 • 1回复 待解决
Worker和TaskPool的线程数量是否有限制
217浏览 • 1回复 待解决
应用跳转问题怎么处理?
3401浏览 • 1回复 待解决
hi3861中的多线程开发:生产者消费者任务,为什么总是编译失败,是头文件路径有问题吗
423浏览 • 0回复 待解决
EGL绘制是否支持多线程?如何在多线程的场景下同时操作一块buffer进行图形绘制
236浏览 • 1回复 待解决
如何自定义处理父子组件间的事件传递,例如,如何解决滑动冲突
177浏览 • 1回复 待解决
如何解决不同模块之间相互依赖的问题
212浏览 • 1回复 待解决
JS中的Textarea组件中的value属性无法正常使用,如何解决
11001浏览 • 2回复 待解决
当前ArkTS创建线程(worker)会创建一个新的ArkTS引擎实例,会占用额外的内存。同时,ArkTS提供了TaskPool并发API,类似GCD的线程池能力,可以执行任务,而且不需要开发者进行线程生命周期管理。Task会被调度到有限数量的工作线程执行,多个task会共享这些工作线程(ArkTS引擎实例),系统会根据负载情况扩容/缩容工作线程的数量,充分发挥硬性性能。
因此针对需要大量线程的问题,应用的开发建议如下:
将多线程任务转变为并发任务,通过TaskPool分发执行;I/O型任务不需要单独开启线程,而是在当前线程(可以是TaskPool线程)执行;少量需要常驻的CPU密集型任务,采用Worker,并且需要控制在8个及以下。
参考链接
TaskPool和Worker的对比