askPool運作機制
圖1 TaskPool運作機制示意圖

TaskPool支持開發(fā)者在主線程封裝任務(wù)拋給任務(wù)隊列,系統(tǒng)選擇合適的工作線程,進行任務(wù)的分發(fā)及執(zhí)行,再將結(jié)果返回給主線程。接口直觀易用,支持任務(wù)的執(zhí)行、取消。工作線程數(shù)量上限為4。
| 鴻蒙OS開發(fā) | 更多內(nèi)容↓點擊 | HarmonyOS與OpenHarmony技術(shù) |
|---|---|---|
| 鴻蒙技術(shù)文檔 | 開發(fā)知識更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在這。 | 或+mau123789學習,是v喔 |
Worker運作機制
圖2 Worker運作機制示意圖

創(chuàng)建Worker的線程稱為宿主線程(不一定是主線程,工作線程也支持創(chuàng)建Worker子線程),Worker自身的線程稱為Worker子線程(或Actor線程、工作線程)。每個Worker子線程與宿主線程擁有獨立的實例,包含基礎(chǔ)設(shè)施、對象、代碼段等。Worker子線程和宿主線程之間的通信是基于消息傳遞的,Worker通過序列化機制與宿主線程之間相互通信,完成命令及數(shù)據(jù)交互。
本文參考引用HarmonyOS官方開發(fā)文檔,基于API9。
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Worker
+關(guān)注
關(guān)注
0文章
8瀏覽量
6706 -
鴻蒙
+關(guān)注
關(guān)注
60文章
3012瀏覽量
46157
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
【瑞薩RA × Zephyr評測】多線程和看門狗
本文章旨在評估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 開發(fā)板上實現(xiàn)多線程調(diào)度與硬件看門狗功能的應(yīng)用。評估內(nèi)容包括任務(wù)調(diào)度、看門狗初始化流程、主程序邏輯的詳細解析,以及實驗現(xiàn)象與數(shù)據(jù)分析。
多線程的系統(tǒng)
的優(yōu)先級足夠高,就會立馬得到響應(yīng)。相比其他裸機系統(tǒng),多線程系統(tǒng)的實時性又被提高了。
多線程系統(tǒng)大概的偽代碼具體見代碼清單所示:
int flag1 = 0;
int flag2 = 0;
int
發(fā)表于 12-08 07:55
Linux多線程對比單線程的優(yōu)勢
:「資源利用率」:通過多線程,可以更有效地利用CPU資源,特別是多核CPU?!覆⑿刑幚怼梗?b class='flag-5'>線程允許同時執(zhí)行多個任務(wù),提高程序的執(zhí)行效率?!负喕O(shè)計」:使用線程可以簡化程序設(shè)計,因為線程
發(fā)表于 12-01 06:11
同步任務(wù)開發(fā)指導
,例如無法單例創(chuàng)建的類對象實現(xiàn)的方法。
使用TaskPool處理同步任務(wù)
當調(diào)度獨立的任務(wù),或者一系列任務(wù)為靜態(tài)方法實現(xiàn),或者可以通過單例構(gòu)造唯一的句柄或類對象,可在不同任務(wù)線程之間
發(fā)表于 06-19 07:57
CPU密集型任務(wù)開發(fā)指導
密集型任務(wù)可以提高CPU利用率,提升應(yīng)用程序響應(yīng)速度。
當任務(wù)不需要長時間(3分鐘)占據(jù)后臺線程,而是一個個獨立的任務(wù)時,推薦使用TaskPool,反之推薦使用Worker。接下來將以圖像直方圖處理
發(fā)表于 06-19 06:05
什么是ArkTS?
、提高系統(tǒng)的整體性能,開發(fā)者無需關(guān)心線程實例的生命周期。
Worker支持多線程并發(fā),支持Worker線
發(fā)表于 06-17 06:24
鴻蒙5開發(fā)寶藏案例分享---優(yōu)化應(yīng)用時延問題
鴻蒙性能優(yōu)化寶藏指南:6大實戰(zhàn)案例讓你的應(yīng)用飛起來!
大家好!今天在翻鴻蒙文檔時挖到了 性能優(yōu)化寶藏庫 !官方竟然悄悄藏了這么多實戰(zhàn)案例,從UI渲染到數(shù)據(jù)庫操作應(yīng)有盡有。這些案例要是早
發(fā)表于 06-13 10:08
鴻蒙5開發(fā)寶藏案例分享---應(yīng)用性能優(yōu)化指南
任務(wù)交給子線程。優(yōu)化策略 :
多線程處理 :
CPU密集型用 <span class=\"ne-text\">TaskPool<
發(fā)表于 06-12 17:17
鴻蒙5開發(fā)寶藏案例分享---跨線程性能優(yōu)化指南
;>Worker</span>做多線程開發(fā)時,總遇到對象跨線程卡頓的問題,原來鴻蒙早就提供了解決方案。下面結(jié)合代碼和實戰(zhàn)案
發(fā)表于 06-12 17:13
鴻蒙5開發(fā)寶藏案例分享---性能體驗設(shè)計
例子:
// 錯誤示范:直接在主線程加載大圖
Image($r(\'app.media.large_img\')) // 可能造成界面凍結(jié)
// 正確做法:異步加載+占位符
Column
發(fā)表于 06-12 16:45
鴻蒙5開發(fā)寶藏案例分享---切面編程實戰(zhàn)揭秘
鴻蒙切面編程(AOP)實戰(zhàn)指南:隱藏的寶藏功能大揭秘!
大家好!今天在翻鴻蒙開發(fā)者文檔時,意外發(fā)現(xiàn)了官方埋藏的「切面編程」寶藏案例!實際開發(fā)中這些技巧能大幅提升效率,卻很少被提及。下面
發(fā)表于 06-12 16:21
鴻蒙5開發(fā)寶藏案例分享---應(yīng)用并發(fā)設(shè)計
:TaskPool根據(jù)負載動態(tài)調(diào)整線程數(shù)
? 實測對比 :
8核設(shè)備線程數(shù):Java平均200+ vs ArkTS僅7-15
內(nèi)存占用:空
發(fā)表于 06-12 16:19
使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件
# 使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件 #鴻蒙開發(fā)工具 #DevEco Studio
##
發(fā)表于 06-11 17:18
鴻蒙APP開發(fā):【ArkTS類庫多線程】TaskPool和Worker的對比(2)
評論