線程模型
線程類型
Stage模型下的線程主要有如下三類:
- 主線程
- 執行UI繪制。
- 管理主線程的ArkTS引擎實例,使多個UIAbility組件能夠運行在其之上。
- 管理其他線程的ArkTS引擎實例,例如使用TaskPool(任務池)創建任務或取消任務、啟動和終止Worker線程。
- 分發交互事件。
- 處理應用代碼的回調,包括事件處理和生命周期管理。
- 接收TaskPool以及Worker線程發送的消息。
- [TaskPool Worker線程]
- 用于執行耗時操作,支持設置調度優先級、負載均衡等功能,推薦使用。
- [Worker線程]
- 用于執行耗時操作,支持線程間通信。 TaskPool與Worker的運作機制、通信手段和使用方法可以參考[TaskPool和Worker的對比]。

- 用于執行耗時操作,支持線程間通信。 TaskPool與Worker的運作機制、通信手段和使用方法可以參考[TaskPool和Worker的對比]。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
- TaskPool自行管理線程數量,其生命周期由TaskPool統一管理。Worker線程最多創建8個,其生命周期由開發者自行維護。
- 同一線程中存在多個組件,例如UIAbility組件和UI組件都存在于主線程中。在Stage模型中目前主要使用[EventHub]進行數據通信。
- 執行
hdc shell命令,進入設備的shell命令行。在shell命令行中,執行ps -p命令,可以查看指定應用進程的線程信息。其中,-T 為需要指定的應用進程的[進程ID]。

使用EventHub進行線程內通信
[EventHub]提供了線程內發送和處理事件的能力,包括對事件訂閱、取消訂閱、觸發事件等。以UIAbility組件與UI之間的數據同步為例,具體使用方法可以參考[UIAbility組件與UI的數據同步]。
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
線程
+關注
關注
0文章
510瀏覽量
20855 -
鴻蒙
+關注
關注
60文章
2992瀏覽量
46086
發布評論請先 登錄
相關推薦
熱點推薦
鴻蒙內核源碼Task/線程技術分析
前言 在鴻蒙內核中,廣義上可理解為一個Task就是一個線程 一、怎么理解Task 1. 官方文檔是怎么描述線程 基本概念 從系統的角度看,線程是競爭系統資源的最小運行單元。
鴻蒙OS 線程管理開發指導
場景介紹 如果應用的業務邏輯比較復雜,可能需要創建多個線程來執行多個任務。這種情況下,代碼復雜難以維護,任務與線程的交互也會更加繁雜。要解決此問題,開發者可以使用“TaskDispatcher”來
鴻蒙原生應用開發-ArkTS語言基礎類庫多線程并發概述
并發模型是用來實現不同應用場景中并發任務的編程模型,常見的并發模型分為基于內存共享的并發模型和基于消息通信的并發模型。
Actor并發
發表于 03-22 15:40
鴻蒙原生應用開發-ArkTS語言基礎類庫多線程并發概述
并發模型是用來實現不同應用場景中并發任務的編程模型,常見的并發模型分為基于內存共享的并發模型和基于消息通信的并發模型。
Actor并發
發表于 03-28 14:35
DevEco Studio AI輔助開發工具兩大升級功能 鴻蒙應用開發效率再提升
數據支撐時提供相關的延伸指導。這種設計既保障了鴻蒙技術支持的專注度,又通過善意引導幫助用戶建立合理預期,最終實現開發者體驗與專業深度的雙提升。
隨著DeepSeek模型使用RAG能力增強之后
發表于 04-18 14:43
鴻蒙5開發寶藏案例分享---應用并發設計
?** 鴻蒙并發編程實戰指南:解鎖ArkTS多線程黑科技**
嘿,開發者朋友們! 今天給大家扒一扒鴻蒙官方文檔里藏著的并發編程寶藏—— 100+實戰場景解決方案 !從金融理財到游戲
發表于 06-12 16:19
鴻蒙5開發寶藏案例分享---跨線程性能優化指南
;>Worker</span>做多線程開發時,總遇到對象跨線程卡頓的問題,原來鴻蒙早就提供了解決方案。下面結合代碼和實戰案例,帶你徹底玩轉性能優化!
一、痛點:跨
發表于 06-12 17:13
BearPi-HM_Nano開發板鴻蒙OS內核編程開發——Thread多線程
BearPi-HM_Nano開發板鴻蒙OS內核編程開發——Thread多線程本示例將演示如何在BearPi-HM_Nano開發板上使用cms
發表于 04-09 09:50
多線程服務器編程模型:如何正確使用mutex 和condition variable
本文對多線程服務器的常用編程模型進行了一個詳細的解讀,本文中的多線程服務器是運行在 Linux 操作系統上網絡應用程序。介紹了典型的單線程服務器編程
SCP線程模型特點
線程 混合協作調度模型-調度在具有相同優先級的線程之間是協作的。 ?無需鎖 ?使代碼更簡單,避免了死鎖的情況。 ?它消除了對執行上下文/RTOS的依賴,并防止了開銷。 ?事件在線程上下
使用 Taro 開發鴻蒙原生應用 —— 快速上手,鴻蒙應用開發指南
隨著鴻蒙系統的不斷完善,許多應用廠商都希望將自己的應用移植到鴻蒙平臺上。最近,Taro 發布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發鴻蒙原生應用,也可將現有的
摩爾線程與智譜AI完成大模型性能測試與適配
近日,摩爾線程與智譜AI在人工智能領域開展了一輪深入的合作,共同對GPU大模型進行了適配及性能測試。此次測試不僅涵蓋了大模型的推理能力,還涉及了基于摩爾線程夸娥(KUAE)千卡智算集群
鴻蒙中Stage模型與FA模型詳解
【HarmonyOS 5】鴻蒙中Stage模型與FA模型詳解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##
鴻蒙開發:【線程模型】
評論