关于ArkTS的线程机制是怎么样的?

关于ArkTS的线程机制

HarmonyOS
2024-07-17 10:50:28
浏览
收藏 0
回答 2
待解决
回答 2
按赞同
/
按时间
droidzxy

Stage模型下的线程主要有如下三类:

  • 主线程
  • 执行UI绘制。
  • 管理主线程的ArkTS引擎实例,使多个UIAbility组件能够运行在其之上。
  • 管理其他线程的ArkTS引擎实例,例如使用TaskPool(任务池)创建任务或取消任务、启动和终止Worker线程。
  • 分发交互事件。
  • 处理应用代码的回调,包括事件处理和生命周期管理。
  • 接收TaskPool以及Worker线程发送的消息。
  • 用于执行耗时操作,支持设置调度优先级、负载均衡等功能,推荐使用。
  • 用于执行耗时操作,支持线程间通信。
    TaskPool与Worker的运作机制、通信手段和使用方法可以参考TaskPool和Worker的对比
分享
微博
QQ
微信
回复
2024-07-17 16:14:08
FengTianYa

设备核心数量有限,过多的线程数量会增加调度和内存开销。

HarmonyOS提供ArkTS任务池和FFRT任务池,可以进行系统统一调度。

ArkTS线程中的JS部分基于内存隔离的Actor模型实现,每个线程拥有独立的JS环境实例,因此启动新线程会造成较大的内存开销。

在其他系统中,线程数量过多通常是由于同步锁、同步I/O编程方式所致。

HarmonyOS提供的异步I/O调用会分发到I/O线程池中,不会阻塞应用线程,因此不需要为每个I/O操作分配单独的线程,使线程数量大大减少。

分享
微博
QQ
微信
回复
2024-07-17 19:11:54
相关问题
鸿蒙刷新机制怎么样
359浏览 • 1回复 待解决
鸿蒙系统未来发展怎么样
3255浏览 • 1回复 待解决
PolarDB向量化执行架构怎么样
2983浏览 • 1回复 待解决
鸿蒙系统怎么样好用吗
7浏览 • 0回复 待解决
Redis 内存用光了会怎么样呢?
2927浏览 • 1回复 待解决
鸿蒙系统还用吗怎么样
2浏览 • 0回复 待解决
鸿蒙对渲染WebGL支持目前怎么样
2289浏览 • 1回复 待解决
FD自由开发者平台怎么样
16863浏览 • 1回复 待解决
怎么样获取后台弹出界面的权限?
5004浏览 • 1回复 待解决
创严标客怎么样?有老铁解答一下么
8125浏览 • 1回复 待解决
HarmonyOS关于线程问题
285浏览 • 1回复 待解决
系统多线程模型是什么
1645浏览 • 1回复 待解决