OpenHarmony开发者论坛

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

作者: 北向实践与赋能    时间: 2024-1-18 11:44
标题: 系统里的线程机制是怎么样的?每个线程是一个单独的JS引擎吗?如果每个线程开销比较小的话,为啥要限制线程数量?
[md]系统里的线程机制是怎么样的?每个线程是一个单独的JS引擎吗?如果每个线程开销比较小的话,为啥要限制线程数量?
[/md]
作者: 北向实践与赋能    时间: 2024-1-18 14:06
标题: 系统里的线程机制是怎么样的?每个线程是一个单独的JS引擎吗?如果每个线程开销比较小的话,为啥要限制线程数量?
[md]**关键字**

线程模型

**原理澄清**

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




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5