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
相关问题
鸿蒙系统未来发展怎么样
1582浏览 • 1回复 待解决
PolarDB向量化执行架构怎么样
1258浏览 • 1回复 待解决
数据库连接池线程安全
490浏览 • 1回复 待解决
如何判断当前线程是否线程
226浏览 • 1回复 待解决
鸿蒙应用程序开发线程么?
1693浏览 • 1回复 待解决
鸿蒙系统怎么样好用
7浏览 • 0回复 待解决
js 怎么开启异步线程?
4284浏览 • 1回复 待解决
系统多线程模型是什么
113浏览 • 1回复 待解决
ArkTS中math库一个?
787浏览 • 2回复 待解决
鸿蒙系统还用怎么样
2浏览 • 0回复 待解决