RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā):【線程模型】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-13 16:38 ? 次閱讀

線程模型

線程類型

Stage模型下的線程主要有如下三類:

  • 主線程
    • 執(zhí)行UI繪制。
    • 管理主線程的ArkTS引擎實(shí)例,使多個(gè)UIAbility組件能夠運(yùn)行在其之上。
    • 管理其他線程的ArkTS引擎實(shí)例,例如使用TaskPool(任務(wù)池)創(chuàng)建任務(wù)或取消任務(wù)、啟動(dòng)和終止Worker線程。
    • 分發(fā)交互事件。
    • 處理應(yīng)用代碼的回調(diào),包括事件處理和生命周期管理。
    • 接收TaskPool以及Worker線程發(fā)送的消息。
  • [TaskPool Worker線程]
    • 用于執(zhí)行耗時(shí)操作,支持設(shè)置調(diào)度優(yōu)先級、負(fù)載均衡等功能,推薦使用。
  • [Worker線程]
    • 用于執(zhí)行耗時(shí)操作,支持線程間通信。 TaskPool與Worker的運(yùn)作機(jī)制、通信手段和使用方法可以參考[TaskPool和Worker的對比]。 thread-model-stage

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • TaskPool自行管理線程數(shù)量,其生命周期由TaskPool統(tǒng)一管理。Worker線程最多創(chuàng)建8個(gè),其生命周期由開發(fā)者自行維護(hù)。
  • 同一線程中存在多個(gè)組件,例如UIAbility組件和UI組件都存在于主線程中。在Stage模型中目前主要使用[EventHub]進(jìn)行數(shù)據(jù)通信。
  • 執(zhí)行hdc shell命令,進(jìn)入設(shè)備的shell命令行。在shell命令行中,執(zhí)行ps -p -T命令,可以查看指定應(yīng)用進(jìn)程的線程信息。其中,為需要指定的應(yīng)用進(jìn)程的[進(jìn)程ID]。

鴻蒙文檔.png

使用EventHub進(jìn)行線程內(nèi)通信

[EventHub]提供了線程內(nèi)發(fā)送和處理事件的能力,包括對事件訂閱、取消訂閱、觸發(fā)事件等。以UIAbility組件與UI之間的數(shù)據(jù)同步為例,具體使用方法可以參考[UIAbility組件與UI的數(shù)據(jù)同步]。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    19675
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙內(nèi)核源碼Task/線程技術(shù)分析

    前言 在鴻蒙內(nèi)核中,廣義上可理解為一個(gè)Task就是一個(gè)線程 一、怎么理解Task 1. 官方文檔是怎么描述線程 基本概念 從系統(tǒng)的角度看,線程是競爭系統(tǒng)資源的最小運(yùn)行單元。
    的頭像 發(fā)表于 10-18 10:42 ?2207次閱讀
    <b class='flag-5'>鴻蒙</b>內(nèi)核源碼Task/<b class='flag-5'>線程</b>技術(shù)分析

    鴻蒙OS 線程管理開發(fā)指導(dǎo)

    場景介紹 如果應(yīng)用的業(yè)務(wù)邏輯比較復(fù)雜,可能需要?jiǎng)?chuàng)建多個(gè)線程來執(zhí)行多個(gè)任務(wù)。這種情況下,代碼復(fù)雜難以維護(hù),任務(wù)與線程的交互也會(huì)更加繁雜。要解決此問題,開發(fā)者可以使用“TaskDispatcher”來
    的頭像 發(fā)表于 01-29 16:22 ?834次閱讀

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫多線程并發(fā)概述

    并發(fā)模型是用來實(shí)現(xiàn)不同應(yīng)用場景中并發(fā)任務(wù)的編程模型,常見的并發(fā)模型分為基于內(nèi)存共享的并發(fā)模型和基于消息通信的并發(fā)模型。 Actor并發(fā)
    發(fā)表于 03-22 15:40

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫多線程TaskPool和Worker的對比(三)

    一、TaskPool注意事項(xiàng) 實(shí)現(xiàn)任務(wù)的函數(shù)需要使用裝飾器@Concurrent標(biāo)注,且僅支持在.ets文件中使用。 實(shí)現(xiàn)任務(wù)的函數(shù)入?yún)⑿铦M足序列化支持的類型。 由于不同線程中上下文對象
    發(fā)表于 03-27 16:26

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫多線程并發(fā)概述

    并發(fā)模型是用來實(shí)現(xiàn)不同應(yīng)用場景中并發(fā)任務(wù)的編程模型,常見的并發(fā)模型分為基于內(nèi)存共享的并發(fā)模型和基于消息通信的并發(fā)模型。 Actor并發(fā)
    發(fā)表于 03-28 14:35

    BearPi-HM_Nano開發(fā)鴻蒙OS內(nèi)核編程開發(fā)——Thread多線程

    BearPi-HM_Nano開發(fā)鴻蒙OS內(nèi)核編程開發(fā)——Thread多線程本示例將演示如何在BearPi-HM_Nano開發(fā)板上使用cms
    發(fā)表于 04-09 09:50

    鴻蒙 OS 應(yīng)用開發(fā)初體驗(yàn)

    什么是 HarmonyOS? HarmonyOS(鴻蒙操作系統(tǒng))是華為公司開發(fā)的一款基于微內(nèi)核的分布式操作系統(tǒng)。它是一個(gè)面向物聯(lián)網(wǎng)(IoT)時(shí)代的全場景操作系統(tǒng),旨在為各種類型的設(shè)備提供統(tǒng)一
    發(fā)表于 11-02 19:38

    線程服務(wù)器編程模型:如何正確使用mutex 和condition variable

    本文對多線程服務(wù)器的常用編程模型進(jìn)行了一個(gè)詳細(xì)的解讀,本文中的多線程服務(wù)器是運(yùn)行在 Linux 操作系統(tǒng)上網(wǎng)絡(luò)應(yīng)用程序。介紹了典型的單線程服務(wù)器編程
    的頭像 發(fā)表于 02-19 08:29 ?7262次閱讀
    多<b class='flag-5'>線程</b>服務(wù)器編程<b class='flag-5'>模型</b>:如何正確使用mutex 和condition variable

    鴻蒙系統(tǒng)是基于什么開發(fā)

    爭議,那么鴻蒙系統(tǒng)到底是基于什么開發(fā)的呢?下面小編就為大家?guī)?b class='flag-5'>鴻蒙系統(tǒng)是基于什么開發(fā)的答案。 鴻蒙系統(tǒng)是基于什么
    的頭像 發(fā)表于 07-05 17:12 ?1.2w次閱讀

    Linux應(yīng)用開發(fā)【第五章】線程編程應(yīng)用開發(fā)

    文章目錄 5 線程編程應(yīng)用開發(fā) 5.1 線程的使用 5.1.1 為什么要使用多線程 5.1.2 線程概念 5.1.3
    的頭像 發(fā)表于 12-10 19:15 ?519次閱讀
    Linux應(yīng)用<b class='flag-5'>開發(fā)</b>【第五章】<b class='flag-5'>線程</b>編程應(yīng)用<b class='flag-5'>開發(fā)</b>

    介紹CUDA編程模型及CUDA線程體系

    CUDA 編程模型主要有三個(gè)關(guān)鍵抽象:層級的線程組,共享內(nèi)存和柵同步(barrier synchronization)。
    的頭像 發(fā)表于 05-19 11:32 ?1880次閱讀
    介紹CUDA編程<b class='flag-5'>模型</b>及CUDA<b class='flag-5'>線程</b>體系

    SCP線程模型特點(diǎn)

    線程 混合協(xié)作調(diào)度模型-調(diào)度在具有相同優(yōu)先級的線程之間是協(xié)作的。 ?無需鎖 ?使代碼更簡單,避免了死鎖的情況。 ?它消除了對執(zhí)行上下文/RTOS的依賴,并防止了開銷。 ?事件在線程上下
    的頭像 發(fā)表于 11-02 17:07 ?534次閱讀
    SCP<b class='flag-5'>線程</b><b class='flag-5'>模型</b>特點(diǎn)

    使用 Taro 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

    隨著鴻蒙系統(tǒng)的不斷完善,許多應(yīng)用廠商都希望將自己的應(yīng)用移植到鴻蒙平臺(tái)上。最近,Taro 發(fā)布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發(fā)鴻蒙原生應(yīng)用,也可將現(xiàn)有的
    的頭像 發(fā)表于 02-02 16:09 ?857次閱讀
    使用 Taro <b class='flag-5'>開發(fā)</b><b class='flag-5'>鴻蒙</b>原生應(yīng)用 —— 快速上手,<b class='flag-5'>鴻蒙</b>應(yīng)用<b class='flag-5'>開發(fā)</b>指南

    摩爾線程與智譜AI完成大模型性能測試與適配

    近日,摩爾線程與智譜AI在人工智能領(lǐng)域開展了一輪深入的合作,共同對GPU大模型進(jìn)行了適配及性能測試。此次測試不僅涵蓋了大模型的推理能力,還涉及了基于摩爾線程夸娥(KUAE)千卡智算集群
    的頭像 發(fā)表于 06-14 16:40 ?1065次閱讀

    鴻蒙開發(fā)線程模型

    FA模型下的線程主要有如下三類
    的頭像 發(fā)表于 06-24 17:27 ?427次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>線程</b><b class='flag-5'>模型</b>
    RM新时代网站-首页