精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS語言基礎類庫開發指南上線啦!

HarmonyOS開發者 ? 來源:未知 ? 2023-10-18 16:20 ? 次閱讀

語言基礎類庫提供哪些功能?多線程并發如何實現?TaskPool(任務池)和Worker在實現和使用場景上有何不同?

針對開發者關注的并發等語言基礎類庫的相關能力,我們在新推出的語言基礎類庫開發指南中提供了詳細的介紹和開發指導,幫助開發者全面了解并發實現、容器類庫基礎操作、XML的生成解析與轉換等。

本期HarmonyOS開發者資料直通車帶您快速了解內容干貨~

語言基礎類庫文檔上新介紹

語言基礎類庫開發指南為HarmonyOS應用開發者提供了常用的基礎能力:

  • 提供異步并發和多線程并發的能力。

  • 提供常見的容器類庫增、刪、改、查的能力。

  • 提供XML生成、解析與轉換URI/URL構造和解析的能力。

  • 提供常見的字符串和二進制數據處理的能力,以及控制臺打印的相關能力。

  • 提供獲取進程信息和操作進程的能力。

wKgZomUvx5qABj8YAAJLGrSAVw4130.png

ArkTS語言基礎類庫能力示意圖

本次上新的語言基礎類庫開發指南主要針對并發能力、容器類庫能力、XML生成解析與轉換這三大方面,全面清晰地講解了各自的實現機制并提供了對應的具體示例和指導,助力開發者實現應用開發。

開發者可在HarmonyOS文檔官網,直接搜索想了解的場景和能力,快速直達文檔進行瀏覽。

如何實現異步并發和多線程并發

并發是指在同一時間段內,能夠處理多個任務的能力。為了提升應用的響應速度與幀率,以及防止耗時任務對主線程的干擾,HarmonyOS系統提供了異步并發和多線程并發兩種處理策略。

  • 異步并發:是指異步代碼在執行到一定程度后會被暫停,以便在未來某個時間點繼續執行,這種情況下,同一時間只有一段代碼在執行。

  • 多線程并發:允許在同一時間段內同時執行多段代碼。在主線程繼續響應用戶操作和更新UI的同時,后臺也能執行耗時操作,從而避免應用出現卡頓。

ArkTS支持異步并發和多線程并發。

  • Promise和async/await提供異步并發能力,適用于單次I/O任務的開發場景。

  • TaskPool和Worker提供多線程并發能力,適用于CPU密集型任務、I/O密集型任務和同步任務等并發場景。

1、異步并發的實現

Promise和async/await提供異步并發能力,是標準的JS異步語法。異步代碼會被掛起并在之后繼續執行,同一時間只有一段代碼執行。

  • Promise是一種用于處理異步操作的對象,可以將異步操作轉換為類似于同步操作的風格,以方便代碼編寫和維護。Promise提供了一個狀態機制來管理異步操作的不同階段,并提供了一些方法來注冊回調函數以處理異步操作的成功或失敗的結果。

  • async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關鍵字聲明一個函數為異步函數,并使用await關鍵字等待Promise的解析(完成或拒絕),以同步的方式編寫異步操作的代碼。

異步并發能力適用于單次I/O任務的場景開發,例如一次網絡請求、一次文件讀寫等操作。

文檔鏈接

異步并發概述https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/async-concurrency-overview-0000001632690002-V3

單次I/O任務開發指導https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/single-io-development-0000001681129701-V3

2、多線程并發的實現

ArkTS提供了TaskPool和Worker兩種并發能力供開發者選擇。TaskPool和Worker的作用是為應用程序提供一個多線程的運行環境,用于處理耗時的計算任務或其他密集型任務。可以有效地避免這些任務阻塞主線程,從而最大化系統的利用率,降低整體資源消耗,并提高系統的整體性能。

由于TaskPool的工作線程會綁定系統的調度優先級,并且支持負載均衡(自動擴縮容),而Worker需要開發者自行創建,存在創建耗時以及不支持設置調度優先級,故在性能方面使用TaskPool會優于Worker,因此大多數場景推薦使用TaskPool。

TaskPool偏向獨立任務(線程級)維度,超長任務(大于3分鐘)會被系統自動回收;而Worker偏向線程的維度,支持長時間占據線程執行。

TaskPool和Worker各自的實現特點和適用場景存在差異,詳細請參見TaskPool和Worker的對比

多線程并發能力,適用于CPU密集型任務、I/O密集型任務和同步任務等并發場景。

文檔鏈接

TaskPoolWorker的對比:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/taskpool-vs-worker-0000001632849934-V3

CPU密集型任務開發指導https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/cpu-intensive-task-development-0000001681369757-V3

I/O密集型任務開發指導https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/io-intensive-task-development-0000001681489597-V3

同步任務開發指導https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/sync-task-development-0000001632370254-V3

容器類庫的基礎操作

容器類庫,用于存儲各種數據類型的元素,并具備一系列處理數據元素的方法。

容器類采用了類似靜態語言的方式來實現,并通過對存儲位置以及屬性的限制,讓每種類型的數據都能在完成自身功能的基礎上去除冗余邏輯,保證了數據的高效訪問,提升了應用的性能。

當前提供了線性和非線性兩類容器,共14種。每種容器都有自身的特性及使用場景。

1、線性容器

線性容器實現能按順序訪問的數據結構,其底層主要通過數組實現,包括ArrayList、Vector、List、LinkedList、Deque、Queue、Stack七種。

線性容器,充分考慮了數據訪問的速度,運行時(Runtime)通過一條字節碼指令就可以完成增、刪、改、查等操作。

2、非線性容器

非線性容器實現能快速查找的數據結構,其底層通過hash或者紅黑樹實現,包括HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray七種。非線性容器中的key及value的類型均滿足ECMA標準。

文檔鏈接

線性容器https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/linear-container-0000001681209893-V3

非線性容器https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/nonlinear-container-0000001632530094-V3

XML生成、解析與轉換

XML(可擴展標記語言)是一種用于描述數據的標記語言,旨在提供一種通用的方式來傳輸和存儲數據,特別是Web應用程序中經常使用的數據。XML并不預定義標記。因此,XML更加靈活,并且可以適用于廣泛的應用領域。

語言基礎類庫提供了XML相關的基礎能力,包括:XML的生成、XML的解析和XML的轉換。

1、XML生成

XML模塊提供XmlSerializer類來生成XML文件,輸入為固定長度的Arraybuffer或DataView對象,該對象用于存放輸出的XML數據。通過調用不同的方法來寫入不同的內容,可以生成一份完整的XML文件。

2、XML解析

對于以XML作為載體傳遞的數據,實際使用中需要對相關的節點進行解析,一般包括解析XML標簽和標簽值、解析XML屬性和屬性值、解析XML事件類型和元素深度三類場景。

XML模塊提供XmlPullParser類對XML文件解析,輸入為含有XML文本的ArrayBufffer或DataView,輸出為解析得到的信息。

3、XML轉換

將XML文本轉換為JavaScript對象可以更輕松地處理和操作數據,并且更適合在JavaScript應用程序中使用。

語言基礎類庫提供ConvertXML類將XML文本轉換為JavaScript對象,輸入為待轉換的XML字符串及轉換選項,輸出為轉換后的JavaScript對象。

文檔鏈接

XML生成https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/xml-generation-0000001681489601-V3

XML解析https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/xml-parsing-0000001632370258-V3

XML轉換https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/xml-conversion-0000001632690010-V3

我們期待您的反饋

以上就是本期為大家準備的HarmonyOS語言基礎類庫開發指南上新內容,希望能夠幫助開發者更高效地探索、體驗、上手HarmonyOS。

同時,我們十分重視開發者的意見,歡迎各位開發者在HarmonyOS應用開發官網積極反饋意見。

我們將持續提升文檔體驗、豐富和完善內容,感謝各位開發者的支持及信賴,您的滿意是我們持續提升文檔體驗的目標和動力。

請關注HarmonyOS開發者公眾號更多HarmonyOS開發者資料直通車相關推送,以獲取最新文檔和內容資源!


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HarmonyOS
    +關注

    關注

    79

    文章

    1967

    瀏覽量

    30035

原文標題:HarmonyOS語言基礎類庫開發指南上線啦!

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BQ7690x軟件開發指南

    電子發燒友網站提供《BQ7690x軟件開發指南.pdf》資料免費下載
    發表于 11-07 10:19 ?0次下載
    BQ7690x軟件<b class='flag-5'>開發指南</b>

    MSP430? MCU開發指南

    電子發燒友網站提供《MSP430? MCU開發指南.pdf》資料免費下載
    發表于 11-06 09:57 ?0次下載
    MSP430? MCU<b class='flag-5'>開發指南</b>

    MSP430L092開發指南

    電子發燒友網站提供《MSP430L092開發指南.pdf》資料免費下載
    發表于 10-18 10:06 ?0次下載
    MSP430L092<b class='flag-5'>開發指南</b>

    MSP430 MCU開發指南

    電子發燒友網站提供《MSP430 MCU開發指南.pdf》資料免費下載
    發表于 10-10 17:19 ?1次下載

    PGA460軟件開發指南

    電子發燒友網站提供《PGA460軟件開發指南.pdf》資料免費下載
    發表于 10-09 10:30 ?0次下載
    PGA460軟件<b class='flag-5'>開發指南</b>

    TUSS44x0軟件開發指南

    電子發燒友網站提供《TUSS44x0軟件開發指南.pdf》資料免費下載
    發表于 09-14 10:59 ?0次下載
    TUSS44x0軟件<b class='flag-5'>開發指南</b>

    MSPM0 L 系列 MCU硬件開發指南

    電子發燒友網站提供《MSPM0 L 系列 MCU硬件開發指南.pdf》資料免費下載
    發表于 09-09 10:36 ?0次下載
    MSPM0 L 系列 MCU硬件<b class='flag-5'>開發指南</b>

    LVGL開發指南介紹

    電子發燒友網站提供《LVGL開發指南介紹.pdf》資料免費下載
    發表于 09-09 10:24 ?15次下載

    BQ769x2軟件開發指南

    電子發燒友網站提供《BQ769x2軟件開發指南.pdf》資料免費下載
    發表于 08-26 09:12 ?0次下載
    BQ769x2軟件<b class='flag-5'>開發指南</b>

    RA/RX電機應用開發指南

    電子發燒友網站提供《RA/RX電機應用開發指南.pdf》資料免費下載
    發表于 08-15 09:44 ?0次下載
    RA/RX電機應用<b class='flag-5'>開發指南</b>

    鴻蒙原生應用開發-ArkTS語言基礎概述

    ArkTS語言基礎HarmonyOS系統上為應用開發者提供的常用基礎能力,主要包含能力如下圖所示。 1.提供異步并發和多線程并發的能
    發表于 03-05 15:42

    迅為RK3568開發板驅動開發指南-輸入子系統

    迅為RK3568開發板驅動開發指南-輸入子系統
    的頭像 發表于 02-23 15:11 ?800次閱讀
    迅為RK3568<b class='flag-5'>開發</b>板驅動<b class='flag-5'>開發指南</b>-輸入子系統

    ArkTS語言基礎-解析

    ArkTS語言基礎HarmonyOS系統上為應用開發者提供的常用基礎能力,主要包含能力如下圖所示。 圖1 ArkTS
    發表于 02-20 16:44

    RA家族QE電機應用開發指南

    電子發燒友網站提供《RA家族QE電機應用開發指南.pdf》資料免費下載
    發表于 01-31 09:57 ?0次下載
    RA家族QE電機應用<b class='flag-5'>開發指南</b>

    keil arm軟件開發指南

    電子發燒友網站提供《keil arm軟件開發指南.pdf》資料免費下載
    發表于 01-26 15:51 ?7次下載