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

北向实践与赋能 显示全部楼层 发表于 2024-1-18 11:44:05

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

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

北向实践与赋能

沙发 发表于 2024-1-18 14:06:52

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

关键字

线程模型

原理澄清

设备的核数有限,线程数泛滥引起调度开销和内存开销。 系统提供了ArkTS任务池和FFRT任务池支持系统统一调度。 系统ArkTS线程中JS部分是基于内存隔离的Actor模型实现,每个线程拥有单独的JS环境实例,因此开启线程会有较大的内存开销。 另外设备的核数有限,其他系统应用线程数开得过多是因为同步锁、同步I/O编程的方式导致。 系统提供的异步I/O调用均分发到I/O线程池,不会阻塞应用线程,因此不需要独占线程调用I/O,所需的线程数量远小于其他操作系统。

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部