91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

HarmonyOS語言基礎(chǔ)類庫開發(fā)指南上線啦!

HarmonyOS開發(fā)者 ? 來源:未知 ? 2023-10-18 16:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

針對開發(fā)者關(guān)注的并發(fā)等語言基礎(chǔ)類庫的相關(guān)能力,我們在新推出的語言基礎(chǔ)類庫開發(fā)指南中提供了詳細(xì)的介紹和開發(fā)指導(dǎo),幫助開發(fā)者全面了解并發(fā)實現(xiàn)、容器類庫基礎(chǔ)操作、XML的生成解析與轉(zhuǎn)換等。

本期HarmonyOS開發(fā)者資料直通車帶您快速了解內(nèi)容干貨~

語言基礎(chǔ)類庫文檔上新介紹

語言基礎(chǔ)類庫開發(fā)指南為HarmonyOS應(yīng)用開發(fā)者提供了常用的基礎(chǔ)能力:

  • 提供異步并發(fā)和多線程并發(fā)的能力。

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

  • 提供XML生成、解析與轉(zhuǎn)換、URI/URL構(gòu)造和解析的能力。

  • 提供常見的字符串和二進(jìn)制數(shù)據(jù)處理的能力,以及控制臺打印的相關(guān)能力。

  • 提供獲取進(jìn)程信息和操作進(jìn)程的能力。

wKgZomUvx5qABj8YAAJLGrSAVw4130.png

ArkTS語言基礎(chǔ)類庫能力示意圖

本次上新的語言基礎(chǔ)類庫開發(fā)指南主要針對并發(fā)能力、容器類庫能力、XML生成解析與轉(zhuǎn)換這三大方面,全面清晰地講解了各自的實現(xiàn)機(jī)制并提供了對應(yīng)的具體示例和指導(dǎo),助力開發(fā)者實現(xiàn)應(yīng)用開發(fā)。

開發(fā)者可在HarmonyOS文檔官網(wǎng),直接搜索想了解的場景和能力,快速直達(dá)文檔進(jìn)行瀏覽。

如何實現(xiàn)異步并發(fā)和多線程并發(fā)

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

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

  • 多線程并發(fā):允許在同一時間段內(nèi)同時執(zhí)行多段代碼。在主線程繼續(xù)響應(yīng)用戶操作和更新UI的同時,后臺也能執(zhí)行耗時操作,從而避免應(yīng)用出現(xiàn)卡頓。

ArkTS支持異步并發(fā)和多線程并發(fā)。

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

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

1、異步并發(fā)的實現(xiàn)

Promise和async/await提供異步并發(fā)能力,是標(biāo)準(zhǔn)的JS異步語法。異步代碼會被掛起并在之后繼續(xù)執(zhí)行,同一時間只有一段代碼執(zhí)行。

  • Promise是一種用于處理異步操作的對象,可以將異步操作轉(zhuǎn)換為類似于同步操作的風(fēng)格,以方便代碼編寫和維護(hù)。Promise提供了一個狀態(tài)機(jī)制來管理異步操作的不同階段,并提供了一些方法來注冊回調(diào)函數(shù)以處理異步操作的成功或失敗的結(jié)果。

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

異步并發(fā)能力適用于單次I/O任務(wù)的場景開發(fā),例如一次網(wǎng)絡(luò)請求、一次文件讀寫等操作。

文檔鏈接

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

單次I/O任務(wù)開發(fā)指導(dǎo)https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/single-io-development-0000001681129701-V3

2、多線程并發(fā)的實現(xiàn)

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

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

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

TaskPool和Worker各自的實現(xiàn)特點(diǎn)和適用場景存在差異,詳細(xì)請參見TaskPool和Worker的對比。

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

文檔鏈接

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

CPU密集型任務(wù)開發(fā)指導(dǎo)https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/cpu-intensive-task-development-0000001681369757-V3

I/O密集型任務(wù)開發(fā)指導(dǎo)https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/io-intensive-task-development-0000001681489597-V3

同步任務(wù)開發(fā)指導(dǎo)https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/sync-task-development-0000001632370254-V3

容器類庫的基礎(chǔ)操作

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

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

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

1、線性容器

線性容器實現(xiàn)能按順序訪問的數(shù)據(jù)結(jié)構(gòu),其底層主要通過數(shù)組實現(xiàn),包括ArrayList、Vector、List、LinkedList、Deque、Queue、Stack七種。

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

2、非線性容器

非線性容器實現(xiàn)能快速查找的數(shù)據(jù)結(jié)構(gòu),其底層通過hash或者紅黑樹實現(xiàn),包括HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray七種。非線性容器中的key及value的類型均滿足ECMA標(biāo)準(zhǔn)。

文檔鏈接

線性容器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生成、解析與轉(zhuǎn)換

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

語言基礎(chǔ)類庫提供了XML相關(guān)的基礎(chǔ)能力,包括:XML的生成、XML的解析和XML的轉(zhuǎn)換。

1、XML生成

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

2、XML解析

對于以XML作為載體傳遞的數(shù)據(jù),實際使用中需要對相關(guān)的節(jié)點(diǎn)進(jìn)行解析,一般包括解析XML標(biāo)簽和標(biāo)簽值、解析XML屬性和屬性值、解析XML事件類型和元素深度三類場景。

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

3、XML轉(zhuǎn)換

將XML文本轉(zhuǎn)換為JavaScript對象可以更輕松地處理和操作數(shù)據(jù),并且更適合在JavaScript應(yīng)用程序中使用。

語言基礎(chǔ)類庫提供ConvertXML類將XML文本轉(zhuǎn)換為JavaScript對象,輸入為待轉(zhuǎn)換的XML字符串及轉(zhuǎn)換選項,輸出為轉(zhuǎn)換后的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轉(zhuǎn)換https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/xml-conversion-0000001632690010-V3

我們期待您的反饋

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

同時,我們十分重視開發(fā)者的意見,歡迎各位開發(fā)者在HarmonyOS應(yīng)用開發(fā)官網(wǎng)積極反饋意見。

我們將持續(xù)提升文檔體驗、豐富和完善內(nèi)容,感謝各位開發(fā)者的支持及信賴,您的滿意是我們持續(xù)提升文檔體驗的目標(biāo)和動力。

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


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

    關(guān)注

    80

    文章

    2153

    瀏覽量

    36041

原文標(biāo)題:HarmonyOS語言基礎(chǔ)類庫開發(fā)指南上線啦!

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    C#上位機(jī)實戰(zhàn)開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《C#上位機(jī)實戰(zhàn)開發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-11 17:15 ?5次下載

    釘釘正式開源HarmonyOS圖片編輯組件

    近日,由釘釘團(tuán)隊自主研發(fā)的“HarmonyOS圖片編輯組件”正式上線OpenHarmony三方中心倉并開源。作為一款填補(bǔ)鴻蒙社區(qū)圖像處理領(lǐng)域空白的重量級組件,該方案基于HarmonyOS
    的頭像 發(fā)表于 01-05 09:58 ?495次閱讀

    電子工程師硬件設(shè)計開發(fā)指南

    電子工程師硬件設(shè)計開發(fā)指南 作為電子工程師,在硬件設(shè)計開發(fā)過程中,規(guī)范的文檔和清晰的設(shè)計思路至關(guān)重要。以下為大家詳細(xì)介紹硬件設(shè)計開發(fā)的相關(guān)要點(diǎn)。 文件下載: Amphenol Aerospace
    的頭像 發(fā)表于 12-10 15:05 ?520次閱讀

    避坑指南!RK3568開發(fā)板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動開發(fā)指南資源)

    避坑指南!RK3568開發(fā)板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動開發(fā)指南資源)
    的頭像 發(fā)表于 10-30 15:49 ?768次閱讀
    避坑<b class='flag-5'>指南</b>!RK3568<b class='flag-5'>開發(fā)</b>板選型,這5點(diǎn)沒看清千萬別下手!(附迅為驅(qū)動<b class='flag-5'>開發(fā)指南</b>資源)

    中微愛芯AiP9P35X系列芯片開發(fā)指南

    中微愛芯為AiP9P35X系列芯片提供一份產(chǎn)品開發(fā)指南和一個可以供客戶調(diào)用的高可靠性文件,幫助用戶快速掌握芯片性能,降低用戶觸控按鍵開發(fā)難度和產(chǎn)品開發(fā)周期,提高
    的頭像 發(fā)表于 09-08 16:20 ?2878次閱讀
    中微愛芯AiP9P35X系列芯片<b class='flag-5'>開發(fā)指南</b>

    中微愛芯AiP8F35XX系列觸摸芯片開發(fā)指南

    中微愛芯為AiP8F35XX系列芯片提供一份產(chǎn)品開發(fā)指南,幫助用戶快速掌握芯片性能,降低產(chǎn)品開發(fā)周期,提高開發(fā)效率。
    的頭像 發(fā)表于 08-25 16:42 ?4159次閱讀
    中微愛芯AiP8F35XX系列觸摸芯片<b class='flag-5'>開發(fā)指南</b>

    中微愛芯AiP8F32XX系列芯片開發(fā)指南

    中微愛芯為AiP8F32XX系列芯片提供一份產(chǎn)品開發(fā)指南,幫助用戶快速掌握芯片性能,降低產(chǎn)品開發(fā)周期,提高開發(fā)效率。
    的頭像 發(fā)表于 08-13 11:39 ?3982次閱讀
    中微愛芯AiP8F32XX系列芯片<b class='flag-5'>開發(fā)指南</b>

    HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實踐

    HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實踐 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融應(yīng)用 (金融理財#
    的頭像 發(fā)表于 07-11 18:20 ?958次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】金融應(yīng)用<b class='flag-5'>開發(fā)</b>鴻蒙組件實踐

    從驅(qū)動到應(yīng)用:RT-Thread環(huán)境下的SDIO開發(fā)指南

    目錄硬件介紹搭建開發(fā)環(huán)境配置SDIO驅(qū)動掛載文件系統(tǒng)文件讀寫測試演示視頻源碼工程總結(jié)本文主要講述RT-Thread環(huán)境下的SDIO開發(fā)指南,基于MCXN947開發(fā)板。1硬件介紹本次測評的是SDIO
    的頭像 發(fā)表于 06-28 09:02 ?2806次閱讀
    從驅(qū)動到應(yīng)用:RT-Thread環(huán)境下的SDIO<b class='flag-5'>開發(fā)指南</b>

    HarmonyOS入門指南

    上手的HarmonyOS工具,借助眾多實用工具,致力于助力開發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。 2、開源框架 harmony-utils 一款功能豐富且極易上手的
    的頭像 發(fā)表于 06-27 00:11 ?787次閱讀

    HarmonyOS5云服務(wù)技術(shù)分享--云數(shù)據(jù)使用指南

    ? 華為云數(shù)據(jù)(CloudDB)在HarmonyOS中的使用指南 ? ??嗨,開發(fā)者朋友們!?? 今天咱們來聊聊華為云數(shù)據(jù)(CloudD
    發(fā)表于 05-22 18:29

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)函數(shù)

    ?【手把手教你玩轉(zhuǎn)HarmonyOS云函數(shù)調(diào)試】? Hey 開發(fā)者朋友們!今天咱們來聊聊怎么用命令行快速調(diào)試HarmonyOS的云函數(shù),讓你開發(fā)效率直接起飛~ ? ? 先來劃重點(diǎn): ?
    發(fā)表于 05-22 17:29

    HarmonyOS5云服務(wù)技術(shù)分享--賬號關(guān)聯(lián)開發(fā)指南

    ? 大家好!今天我們來聊聊如何在HarmonyOS應(yīng)用開發(fā)中,使用ArkTS(API 12)實現(xiàn)賬號關(guān)聯(lián)功能。無論是社交應(yīng)用、游戲還是工具App,賬號體系都是用戶體驗的重要一環(huán)。通過靈活的賬號關(guān)聯(lián)
    發(fā)表于 05-22 16:53

    STM32F10xxx硬件開發(fā)指南

    官方STM32F10xxx硬件開發(fā)指南
    發(fā)表于 04-14 14:59 ?3次下載

    鴻蒙文件傳輸三方上線開源鴻蒙社區(qū) 十行代碼實現(xiàn)大文件高速傳輸

    近日,華為在OpenHarmony社區(qū)上線了“super_fast_file_trans”文件傳輸三方(以下簡稱“SFFT”)。這一三方的推出,為開發(fā)者提供了一套支持大文件多線程并
    發(fā)表于 03-06 10:29