ArkTS的线程机制是怎么样的?每个线程是一个单独的JS引擎吗?

 ArkTS的线程机制是怎么样的?每个线程是一个单独的JS引擎吗?如果每个线程开销比较小的话,为什么要限制线程数量

HarmonyOS
2024-03-17 13:26:58
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
NGKSWCIDT

设备的核数有限,线程数泛滥引起调度开销和内存开销。

HarmonyOS提供了ArkTS任务池和FFRT任务池支持系统统一调度。

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

另外设备的核数有限,其他系统应用线程数开得过多是因为同步锁、同步I/O编程的方式导致。

HarmonyOS提供的异步I/O调用均分发到I/O线程池,不会阻塞应用线程,因此不需要独占线程调用I/O,所需的线程数量远小于其他操作系统。

分享
微博
QQ
微信
回复
2024-03-18 16:32:24
相关问题
关于ArkTS线程机制怎么样
394浏览 • 2回复 待解决
鸿蒙刷新机制怎么样
492浏览 • 1回复 待解决
鸿蒙系统未来发展怎么样
3385浏览 • 1回复 待解决
Worker宿主线程必须线程
343浏览 • 1回复 待解决
PolarDB向量化执行架构怎么样
3054浏览 • 1回复 待解决
请问多HAP包应用场景怎么样
125浏览 • 1回复 待解决
HarmonyOS 用户首选项线程安全
249浏览 • 1回复 待解决
zip包解压在主线程还是IO线程
1576浏览 • 1回复 待解决
数据库连接池线程安全
2187浏览 • 1回复 待解决
鸿蒙系统怎么样好用
7浏览 • 0回复 待解决
什么系统线程模型
317浏览 • 1回复 待解决
ArkTS类继承机制怎样?
10浏览 • 0回复 待解决
怎么判断一个类型stirng
703浏览 • 1回复 待解决
鸿蒙系统还用怎么样
2浏览 • 0回复 待解决
怎样判断当前线程是否线程
407浏览 • 1回复 待解决