日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

鴻蒙APP開發(fā):【ArkTS類庫多線程】TaskPool和Worker的對(duì)比

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-26 22:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TaskPool(任務(wù)池)和Worker的作用是為應(yīng)用程序提供一個(gè)多線程的運(yùn)行環(huán)境,用于處理耗時(shí)的計(jì)算任務(wù)或其他密集型任務(wù)??梢杂行У乇苊膺@些任務(wù)阻塞主線程,從而最大化系統(tǒng)的利用率,降低整體資源消耗,并提高系統(tǒng)的整體性能。

本文將從實(shí)現(xiàn)特點(diǎn)和適用場景兩個(gè)方面來進(jìn)行TaskPool與Worker的比較,同時(shí)提供了各自運(yùn)作機(jī)制和注意事項(xiàng)的相關(guān)說明。

一、實(shí)現(xiàn)特點(diǎn)對(duì)比

表1 TaskPool和Worker的實(shí)現(xiàn)特點(diǎn)對(duì)比

實(shí)現(xiàn)TaskPoolWorker
內(nèi)存模型線程間隔離,內(nèi)存不共享。線程間隔離,內(nèi)存不共享。
參數(shù)傳遞機(jī)制采用標(biāo)準(zhǔn)的結(jié)構(gòu)化克隆算法(Structured Clone)進(jìn)行序列化、反序列化,完成參數(shù)傳遞。支持ArrayBuffer轉(zhuǎn)移和SharedArrayBuffer共享。采用標(biāo)準(zhǔn)的結(jié)構(gòu)化克隆算法(Structured Clone)進(jìn)行序列化、反序列化,完成參數(shù)傳遞。支持ArrayBuffer轉(zhuǎn)移和SharedArrayBuffer共享。
參數(shù)傳遞直接傳遞,無需封裝,默認(rèn)進(jìn)行transfer。消息對(duì)象唯一參數(shù),需要自己封裝。
方法調(diào)用直接將方法傳入調(diào)用。在Worker線程中進(jìn)行消息解析并調(diào)用對(duì)應(yīng)方法。
返回值異步調(diào)用后默認(rèn)返回。主動(dòng)發(fā)送消息,需在onmessage解析賦值。
生命周期TaskPool自行管理生命周期,無需關(guān)心任務(wù)負(fù)載高低。開發(fā)者自行管理Worker的數(shù)量及生命周期。
任務(wù)池個(gè)數(shù)上限自動(dòng)管理,無需配置。同個(gè)進(jìn)程下,最多支持同時(shí)開啟8個(gè)Worker線程。
任務(wù)執(zhí)行時(shí)長上限無限制。無限制。
設(shè)置任務(wù)的優(yōu)先級(jí)不支持。不支持。
執(zhí)行任務(wù)的取消支持取消任務(wù)隊(duì)列中等待的任務(wù)。不支持。
鴻蒙開發(fā)應(yīng)用知識(shí)更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在這。或+mau123789學(xué)習(xí),是v喔

搜狗高速瀏覽器截圖20240326151547.png

二、適用場景對(duì)比

TaskPool偏向獨(dú)立任務(wù)維度,該任務(wù)在線程中執(zhí)行,無需關(guān)注線程的生命周期,超長任務(wù)(大于3分鐘)會(huì)被系統(tǒng)自動(dòng)回收;而Worker偏向線程的維度,支持長時(shí)間占據(jù)線程執(zhí)行,需要主動(dòng)管理線程生命周期。

常見的一些開發(fā)場景及適用具體說明如下:

有關(guān)聯(lián)的一系列同步任務(wù)。例如在一些需要?jiǎng)?chuàng)建、使用句柄的場景中,句柄創(chuàng)建每次都是不同的,該句柄需永久保存,保證使用該句柄進(jìn)行操作,需要使用Worker。

需要頻繁取消的任務(wù)。例如圖庫大圖瀏覽場景,為提升體驗(yàn),會(huì)同時(shí)緩存當(dāng)前圖片左右側(cè)各2張圖片,往一側(cè)滑動(dòng)跳到下一張圖片時(shí),要取消另一側(cè)的一個(gè)緩存任務(wù),需要使用TaskPool。

大量或者調(diào)度點(diǎn)較分散的任務(wù)。例如大型應(yīng)用的多個(gè)模塊包含多個(gè)耗時(shí)任務(wù),不方便使用8個(gè)Worker去做負(fù)載管理,推薦采用TaskPool。

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    8

    瀏覽量

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

    關(guān)注

    60

    文章

    3031

    瀏覽量

    46194
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    多線程的系統(tǒng)

    多線程系統(tǒng)的事件響應(yīng)也是在中斷中完成的,但事件的處理是在線程中完成的。在多線程系統(tǒng)中,線程跟中斷一樣,也具有優(yōu)先級(jí),優(yōu)先級(jí)高的線程會(huì)被優(yōu)先執(zhí)
    發(fā)表于 12-08 07:55

    Linux多線程對(duì)比線程的優(yōu)勢(shì)

    :「資源利用率」:通過多線程,可以更有效地利用CPU資源,特別是多核CPU?!覆⑿刑幚怼梗?b class='flag-5'>線程允許同時(shí)執(zhí)行多個(gè)任務(wù),提高程序的執(zhí)行效率。「簡化設(shè)計(jì)」:使用線程可以簡化程序設(shè)計(jì),因?yàn)?b class='flag-5'>線程
    發(fā)表于 12-01 06:11

    多線程的安全注意事項(xiàng)

    多線程安全是指多個(gè)線程同時(shí)訪問或修改共享資源時(shí),能夠保證程序的正確性和可靠性。 開發(fā)者選擇TaskPoolWorker進(jìn)行
    發(fā)表于 06-20 07:49

    同步任務(wù)開發(fā)指導(dǎo)

    ,例如無法單例創(chuàng)建的對(duì)象實(shí)現(xiàn)的方法。 使用TaskPool處理同步任務(wù) 當(dāng)調(diào)度獨(dú)立的任務(wù),或者一系列任務(wù)為靜態(tài)方法實(shí)現(xiàn),或者可以通過單例構(gòu)造唯一的句柄或對(duì)象,可在不同任務(wù)線程之間
    發(fā)表于 06-19 07:57

    CPU密集型任務(wù)開發(fā)指導(dǎo)

    密集型任務(wù)可以提高CPU利用率,提升應(yīng)用程序響應(yīng)速度。 當(dāng)任務(wù)不需要長時(shí)間(3分鐘)占據(jù)后臺(tái)線程,而是一個(gè)個(gè)獨(dú)立的任務(wù)時(shí),推薦使用TaskPool,反之推薦使用Worker。接下來將以圖像直方圖處理
    發(fā)表于 06-19 06:05

    TaskPoolWorker對(duì)比分析

    支持。不支持。適用場景對(duì)比 TaskPoolWorker均支持多線程并發(fā)能力。由于TaskPool的工作
    發(fā)表于 06-18 06:43

    什么是ArkTS

    、提高系統(tǒng)的整體性能,開發(fā)者無需關(guān)心線程實(shí)例的生命周期。 Worker支持多線程并發(fā),支持Worker
    發(fā)表于 06-17 06:24

    鴻蒙5開發(fā)寶藏案例分享---優(yōu)化應(yīng)用時(shí)延問題

    鴻蒙性能優(yōu)化寶藏指南:6大實(shí)戰(zhàn)案例讓你的應(yīng)用飛起來! 大家好!今天在翻鴻蒙文檔時(shí)挖到了 性能優(yōu)化寶藏 !官方竟然悄悄藏了這么多實(shí)戰(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ā)時(shí),總遇到對(duì)象跨線程卡頓的問題,原來鴻蒙早就提供了解決方案。下面結(jié)合代碼和實(shí)戰(zhàn)案
    發(fā)表于 06-12 17:13

    鴻蒙5開發(fā)寶藏案例分享---分析幀率問題

    鴻蒙性能優(yōu)化寶藏:幀率問題實(shí)戰(zhàn)案例解析 嘿,各位鴻蒙開發(fā)者! 今天分享一個(gè)開發(fā)中的大發(fā)現(xiàn)——鴻蒙官方文檔里藏著一堆超實(shí)用的性能優(yōu)化案例!這些
    發(fā)表于 06-12 17:07

    鴻蒙5開發(fā)寶藏案例分享---性能體驗(yàn)設(shè)計(jì)

    例子: // 錯(cuò)誤示范:直接在主線程加載大圖 Image($r(\'app.media.large_img\')) // 可能造成界面凍結(jié) // 正確做法:異步加載+占位符 Column
    發(fā)表于 06-12 16:45

    鴻蒙5開發(fā)寶藏案例分享---切面編程實(shí)戰(zhàn)揭秘

    鴻蒙切面編程(AOP)實(shí)戰(zhàn)指南:隱藏的寶藏功能大揭秘! 大家好!今天在翻鴻蒙開發(fā)者文檔時(shí),意外發(fā)現(xiàn)了官方埋藏的「切面編程」寶藏案例!實(shí)際開發(fā)中這些技巧能大幅提升效率,卻很少被提及。下面
    發(fā)表于 06-12 16:21

    鴻蒙5開發(fā)寶藏案例分享---應(yīng)用并發(fā)設(shè)計(jì)

    ?** 鴻蒙并發(fā)編程實(shí)戰(zhàn)指南:解鎖ArkTS多線程黑科技** 嘿,開發(fā)者朋友們! 今天給大家扒一扒鴻蒙官方文檔里藏著的并發(fā)編程寶藏—— 10
    發(fā)表于 06-12 16:19

    使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件

    # 使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件 #鴻蒙開發(fā)工具 #DevEco Studio ##
    發(fā)表于 06-11 17:18
    泊头市| 信宜市| 宁武县| 都兰县| 阜阳市| 罗平县| 尉犁县| 揭阳市| 同仁县| 来凤县| 庐江县| 凤冈县| 山阴县| 大余县| 波密县| 通化县| 当阳市| 古交市| 马鞍山市| 开鲁县| 安化县| 独山县| 肥乡县| 雷州市| 资源县| 陇南市| 沧源| 遵化市| 车险| 吴忠市| 剑河县| 习水县| 五指山市| 浠水县| 沙坪坝区| 丽江市| 通化市| 贺兰县| 牡丹江市| 鄂伦春自治旗| 噶尔县|