美文网首页
鸿蒙~线程模型

鸿蒙~线程模型

作者: 胡修波 | 来源:发表于2023-12-17 16:23 被阅读0次

HarmonyOS应用中每个进程都会有一个主线程,主线程有如下职责:(华为官网)

  • 执行UI绘制;
  • 管理主线程的ArkTS引擎实例,使多个UIAbility组件能够运行在其之上;
  • 管理其他线程(例如Worker线程)的ArkTS引擎实例,例如启动和终止其他线程;
  • 分发交互事件;
  • 处理应用代码的回调,包括事件处理和生命周期管理;
  • 接收Worker线程发送的消息;

除主线程外,还有一类与主线程并行的独立线程Worker,主要用于执行耗时操作,但不可以直接操作UI。Worker线程在主线程中创建,与主线程相互独立。最多可以创建8个Worker:

0000000000011111111.20231121183829.84284400967280132653406303838080.png

基于HarmonyOS的线程模型,不同的业务功能运行在不同的线程上,业务功能的交互就需要线程间通信。线程间通信目前主要有Emitter和Worker两种方式,其中Emitter主要适用于线程间的事件同步, Worker主要用于新开一个线程执行耗时任务。

说明:

  • Stage模型只提供了主线程和Worker线程,Emitter主要用于主线程内或者主线程和Worker线程的事件同步。
    event-publish-0000001478340885-V3 "公共事件发布")

相关文章

  • Reactor线程模型及其在Netty中的应用

    什么是Reactor线程模型 Java中线程模型大致可以分为: 单线程模型 多线程模型 线程池模型(executo...

  • SQLite 线程安全和并发

    SQLite 与线程 SQLite是线程安全的。 线程模型 SQLite支持如下三种线程模型 单线程模型这种模型下...

  • Reactor线程模型【原理笔记】

    前言 Reactor模型是基于事件驱动的线程模型,可以分为Reactor单线程模型、Reactor多线程模型、主从...

  • Netty 线程模型

    线程模型: 单线程模型:该Server线程要处理读请求,写请求,全部在一个线程中. Reactor线程模型[htt...

  • Netty篇:Reactor线程模型和NioEventLoop,

    Reactor线程模型 Reactor模式是一种典型的事件驱动的编程模型,主要有单线程模型,多线程模型以及主从线程...

  • Tomcat NIO 线程模型分析

    Tomcat7线程模型 tomcat 的nio 线程模型也是reactor 模型,由accept 线程负责接受连接...

  • 线程模型的3种实现

    线程的实现模型主要有3种:内核级线程模型、用户级线程模型和混合型线程模型。它们之间最大的区别在于线程与内核调度实体...

  • 一文搞懂Go 的并发调度模型

    线程模型 在细说 Go 的调度模型之前,先来说说一般意义的线程模型。线程模型一般分三种,由用户级线程和 OS 线程...

  • 线程池

    线程是调度CPU资源的最小单位,线程模型分为KLT模型和ULT模型,Java采用的是KLT模型,java线程与OS...

  • Java线程模型

    Java线程模型 本文将从线程类型、线程通信、线程调度三个方面分析Java中的线程模型。 什么是线程? 线程就是进...

网友评论

      本文标题:鸿蒙~线程模型

      本文链接:https://www.haomeiwen.com/subject/bssogdtx.html