線程模型概述

2024-01-25 12:28 更新

HarmonyOS應(yīng)用中每個進(jìn)程都會有一個主線程,主線程有如下職責(zé):

  1. 執(zhí)行UI繪制;
  2. 管理主線程的ArkTS引擎實(shí)例,使多個UIAbility組件能夠運(yùn)行在其之上;
  3. 管理其他線程(例如Worker線程)的ArkTS引擎實(shí)例,例如啟動和終止其他線程;
  4. 分發(fā)交互事件;
  5. 處理應(yīng)用代碼的回調(diào),包括事件處理和生命周期管理;
  6. 接收Worker線程發(fā)送的消息;

除主線程外,還有一類與主線程并行的獨(dú)立線程Worker,主要用于執(zhí)行耗時操作,但不可以直接操作UI。Worker線程在主線程中創(chuàng)建,與主線程相互獨(dú)立。最多可以創(chuàng)建8個Worker:

基于HarmonyOS的線程模型,不同的業(yè)務(wù)功能運(yùn)行在不同的線程上,業(yè)務(wù)功能的交互就需要線程間通信。線程間通信目前主要有Emitter和Worker兩種方式,其中Emitter主要適用于線程間的事件同步, Worker主要用于新開一個線程執(zhí)行耗時任務(wù)。

說明:

  • Stage模型只提供了主線程和Worker線程,Emitter主要用于主線程內(nèi)或者主線程和Worker線程的事件同步。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號