askPool運(yùn)作機(jī)制
圖1 TaskPool運(yùn)作機(jī)制示意圖

TaskPool支持開發(fā)者在主線程封裝任務(wù)拋給任務(wù)隊列,系統(tǒng)選擇合適的工作線程,進(jìn)行任務(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學(xué)習(xí),是v喔 |
Worker運(yùn)作機(jī)制
圖2 Worker運(yùn)作機(jī)制示意圖

創(chuàng)建Worker的線程稱為宿主線程(不一定是主線程,工作線程也支持創(chuàng)建Worker子線程),Worker自身的線程稱為Worker子線程(或Actor線程、工作線程)。每個Worker子線程與宿主線程擁有獨立的實例,包含基礎(chǔ)設(shè)施、對象、代碼段等。Worker子線程和宿主線程之間的通信是基于消息傳遞的,Worker通過序列化機(jī)制與宿主線程之間相互通信,完成命令及數(shù)據(jù)交互。
本文參考引用HarmonyOS官方開發(fā)文檔,基于API9。
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Worker
+關(guān)注
關(guān)注
0文章
8瀏覽量
6703 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45907
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
多線程的系統(tǒng)
的優(yōu)先級足夠高,就會立馬得到響應(yīng)。相比其他裸機(jī)系統(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
多線程的安全注意事項
多線程安全是指多個線程同時訪問或修改共享資源時,能夠保證程序的正確性和可靠性。
開發(fā)者選擇TaskPool或Worker進(jìn)行
發(fā)表于 06-20 07:49
同步任務(wù)開發(fā)指導(dǎo)
,例如無法單例創(chuàng)建的類對象實現(xiàn)的方法。
使用TaskPool處理同步任務(wù)
當(dāng)調(diào)度獨立的任務(wù),或者一系列任務(wù)為靜態(tài)方法實現(xiàn),或者可以通過單例構(gòu)造唯一的句柄或類對象,可在不同任務(wù)線程之間
發(fā)表于 06-19 07:57
CPU密集型任務(wù)開發(fā)指導(dǎo)
密集型任務(wù)可以提高CPU利用率,提升應(yīng)用程序響應(yīng)速度。
當(dā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ō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ù)負(fù)載動態(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
開源啦?。?!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創(chuàng)
也用鴻蒙ArkTS語法嘗試開發(fā)了一些APP,雖然還沒上架哈,不過基本的開發(fā)流程以及交互都熟悉了,而且馬上第一款
發(fā)表于 03-15 15:21
HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-ArkTS代碼調(diào)試worker/taskpool調(diào)試
開發(fā)者可通過在worker或taskpool代碼上設(shè)置斷點,對worker/taskpool進(jìn)行斷點調(diào)試。
一、
發(fā)表于 03-13 17:46
鴻蒙APP開發(fā):【ArkTS類庫多線程】TaskPool和Worker的對比(2)
評論