chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

揭秘LuatOS Task:多任務(wù)管理的“智能中樞”

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2025-08-28 13:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Task任務(wù)作為LuatOS的核心組成部分,通過智能化的任務(wù)管理機(jī)制,實(shí)現(xiàn)任務(wù)的創(chuàng)建、調(diào)度與協(xié)同運(yùn)行,讓復(fù)雜應(yīng)用得以高效并行處理,滿足實(shí)時場景下的嚴(yán)苛需求。

sys核心庫是LuatOS運(yùn)行框架庫,也是LuatOS應(yīng)用程序運(yùn)行的核心大腦——所有LuatOS應(yīng)用項目都會使用到sys核心庫。

sys核心庫提供了四大類功能:

Task任務(wù)

Message消息

Timer定時器

Run調(diào)度器

本文將分享sys核心庫Task任務(wù)相關(guān)函數(shù)及其簡要示例,幫助你更好地理解LuatOS開發(fā)基礎(chǔ)。

一、Task:LuatOS任務(wù)功能

Task分為基礎(chǔ)task和高級task兩種,二者主要區(qū)別如下:

從設(shè)計原理的角度來看:

所有的基礎(chǔ)task共享一個全局消息隊列;

每個高級task都有自己獨(dú)立的消息隊列,同時又能使用全局消息隊列。

從用戶使用的角度來看:

基礎(chǔ)task如果阻塞功能使用不當(dāng),可能會丟失自己應(yīng)該處理的消息;

高級task如果阻塞功能使用不當(dāng),不會丟失自己應(yīng)該處理的消息。

雖然從設(shè)計原理來看,高級task比基礎(chǔ)task使用起來不容易犯錯;但由于基礎(chǔ)task使用起來簡潔,基礎(chǔ)task還是需要掌握,一旦掌握之后,也不容易犯錯。

sys核心庫提供的task管理功能有以下幾種:

基礎(chǔ)task的創(chuàng)建和啟動運(yùn)行:sys.taskInit(task_func, ...)

高級task的創(chuàng)建和啟動運(yùn)行:sys.taskInitEx(task_func, task_name, non_targeted_msg_cbfunc, ...)

高級task管理表資源的釋放:sys.taskDel(task_name)

二、Task函數(shù)詳解

2.1 sys.taskInit(task_func, ...)

1)函數(shù)功能:

創(chuàng)建并且啟動運(yùn)行一個基礎(chǔ)task。

2)注意事項:

可以在能夠執(zhí)行到的任意代碼位置使用此函數(shù);在LuatOS中,對創(chuàng)建的task數(shù)量沒有特別限制,只要ram夠用,可以一直創(chuàng)建。

3)參數(shù)說明:

▼ task_func ▼

參數(shù)含義:task的處理函數(shù);

數(shù)據(jù)類型:function;

取值范圍:任意有效的函數(shù)名都行;

是否必選:必須傳入此參數(shù)。

注意事項:

特別需要注意傳入的函數(shù)名的作用域,如果使用不當(dāng),很可能會使用一個無效的函數(shù)名。

如下代碼就是一個典型的錯誤示例:

wKgZPGiv5-iACp_RAAC84eO8O24799.png


正確參數(shù)示例:

如下所示,定義了一個函數(shù)led_task_func,led_task_func就可以做為此參數(shù)傳入。

wKgZO2iv6B2Ab6jhAABD64G4Qvw980.pngwKgZPGiv6L-AcURNAACBV_q0UV8648.png

4)返回值:

local task_object = sys.taskInit(task_func, ...)有一個返回值task_object

wKgZO2iv6PGAcTvwAABV4LiLftc926.png

5)函數(shù)示例:

wKgZO2iv6ROAM7cCAADgdQi0ZGE233.png

2.2 sys.taskInitEx(task_func, task_name, non_targeted_msg_cbfunc, ...)

1)函數(shù)功能:

創(chuàng)建并且啟動運(yùn)行一個高級task。

2)注意事項:

可以在能夠執(zhí)行到的任意代碼位置使用此函數(shù);高級task的定義,參考本文第一章節(jié)的描述;在LuatOS中,對創(chuàng)建的task數(shù)量沒有特別限制,只要ram夠用,可以一直創(chuàng)建。

3)參數(shù)說明:

▼ task_func ▼

參數(shù)含義:task的處理函數(shù);

數(shù)據(jù)類型:function;

取值范圍:任意有效的函數(shù)名都行;

是否必選:必須傳入此參數(shù)。

注意事項:

特別需要注意傳入的函數(shù)名的作用域,如果使用不當(dāng),很可能會使用一個無效的函數(shù)名。

如下代碼就是一個典型的錯誤示例:

wKgZPGiv6pSAE7lCAADL6udbVBo051.png

正確參數(shù)示例:

如下所示,定義了一個函數(shù)led_task_func,led_task_func就可以做為此參數(shù)傳入。

wKgZPGiv6rqAHTykAABMRJLLHmM772.pngwKgZO2iv6tOAUT2-AABxR-AOj_M881.png

▼ non_targeted_msg_cbfunc ▼

參數(shù)含義:task的處理函數(shù)中使用:sys.waitMsg(task_name, msg, timeout)接口阻塞等待msg消息時,接收到msg之外的其他消息時的回調(diào)函數(shù)。

回調(diào)函數(shù)的格式為:

wKgZPGiv6wSAO8cRAAEGh7Oysjw008.png

回調(diào)函數(shù)是在task之外的業(yè)務(wù)邏輯中被執(zhí)行的;

在回調(diào)函數(shù)內(nèi)部無法使用sys.wait(timeout)、sys.waitUntil(msg, timeout)、sys.waitMsg(task_name, msg, timeout)等必須用在task中的函數(shù)。

數(shù)據(jù)類型:function或者nil;

取值范圍:無特別限制;

是否必選:可選傳入此參數(shù)。

注意事項:

特別需要注意傳入的函數(shù)名的作用域,如果使用不當(dāng),很可能會使用一個無效的函數(shù)名。

如下代碼就是一個典型的錯誤示例:

wKgZO2iv6y6AYIkVAAEMISz2SIQ525.png

正確參數(shù)示例:

如下所示,定義了一個函數(shù)led_task_cbfunc,led_task_cbfunc就可以作為此參數(shù)傳入。

wKgZO2iv61uAALTXAACCJucmYkA905.pngwKgZO2iv63OAQUzjAAB8VUr8mH0753.png

4)返回值:

local task_object = sys.taskInitEx(task_func, task_name, non_targeted_msg_cbfunc, ...)

有一個返回值task_object。

wKgZO2iv65WAU_cYAABWDYO2oIM509.png

5)函數(shù)示例:

wKgZO2iv67-AEbufAAIoptU-P4E091.png

2.3 sys.taskDel(task_name)

1)函數(shù)功能:

刪除一個高級task對應(yīng)的管理表資源。

2)注意事項:

可以在能夠執(zhí)行到的任意代碼位置使用此函數(shù);高級task的定義,參考本文第一章節(jié)的描述。

此函數(shù)僅僅刪除一個高級task對應(yīng)的管理表資源,并不能刪除一個高級task。

一般來說,只有如下一個場景需要用到這個函數(shù):

在高級task的任務(wù)處理函數(shù)中,如果函數(shù)執(zhí)行結(jié)束,需要退出,在退出前執(zhí)行sys.taskDel(task_name);

高級task的任務(wù)處理函數(shù)執(zhí)行結(jié)束退出后,這個task就消亡了,消亡后這個task_name綁定的資源也沒用處了。

所以在退出之前執(zhí)行sys.taskDel(task_name),釋放資源,防止出現(xiàn)內(nèi)存泄漏。

3)參數(shù)說明:

wKgZPGiv6-qADf8_AABv_0xP-BY051.png

4)返回值:nil

5)函數(shù)示例:

以下代碼片段演示一個task的處理函數(shù)在函數(shù)末尾退出前,執(zhí)行sys.taskDel函數(shù)的場景:

wKgZO2iv7A2AApTgAAEf6p3_3V0298.png


以下代碼片段演示一個task的處理函數(shù)在兩種場景下,執(zhí)行sys.taskDel函數(shù):

在中途的一個分支執(zhí)行return語句,退出處理函數(shù)前,執(zhí)行sys.taskDel函數(shù);

處理函數(shù)末尾退出前,執(zhí)行sys.taskDel函數(shù)。

wKgZO2iv7EaAO3MsAAGK-19hiis591.png


今天的內(nèi)容就分享到這里了!

更多開發(fā)資料,詳見資料中心

—— docs.openluat.com


審核編輯 黃宇

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

    關(guān)注

    0

    文章

    134

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    嵌入式系統(tǒng)軟件架構(gòu)通常劃分

    嵌入式系統(tǒng)的軟件架構(gòu)通常劃分如下分層設(shè)計: 應(yīng)用層:環(huán)境溫度監(jiān)測、報警觸發(fā)邏輯。 中間件層:支持MQTT協(xié)議的網(wǎng)絡(luò)通信模塊,用于將溫度數(shù)據(jù)上傳至云端。 操作系統(tǒng)層:基于FreeRTOS進(jìn)行多任務(wù)管理
    發(fā)表于 12-01 07:20

    愛普科技PSRAM加速wisun無線模塊多任務(wù)處理

    愛普科技256Mb PSRAM(如APS256XXN-OBR-BG)為WiSUN無線模塊提供高速數(shù)據(jù)緩存與臨時存儲解決方案,其166MHz速率、1.8V低功耗及小尺寸封裝顯著提升模塊在智能電網(wǎng)、工業(yè)自動化中的多任務(wù)處理能力和穩(wěn)定性。
    的頭像 發(fā)表于 10-14 09:25 ?201次閱讀
    愛普科技PSRAM加速wisun無線模塊<b class='flag-5'>多任務(wù)</b>處理

    教程來啦!LuatOS中的消息通信機(jī)制詳解及其應(yīng)用場景

    LuatOS 的消息機(jī)制是其多任務(wù)協(xié)作和事件驅(qū)動編程的核心部分,主要通過?sys?核心庫實(shí)現(xiàn)。 消息機(jī)制包括消息的發(fā)送、接收、訂閱,以及系統(tǒng)消息的定義和使用,下面分別詳細(xì)描述其原理和使用方法。 一、LuatOS 消息機(jī)制的原
    的頭像 發(fā)表于 09-26 18:59 ?214次閱讀
    教程來啦!<b class='flag-5'>LuatOS</b>中的消息通信機(jī)制詳解及其應(yīng)用場景

    LuatOS腳本開發(fā)入門:嵌入式運(yùn)行框架全解析!

    想搞懂LuatOS如何運(yùn)行Lua腳本?本文深入剖析其嵌入式運(yùn)行框架,涵蓋虛擬機(jī)加載、任務(wù)協(xié)程、系統(tǒng)初始化等關(guān)鍵環(huán)節(jié),適合初學(xué)者。 一、LuatOS 編程起步 1.1 底層固件怎么啟動 Luat
    的頭像 發(fā)表于 09-26 17:45 ?234次閱讀
    <b class='flag-5'>LuatOS</b>腳本開發(fā)入門:嵌入式運(yùn)行框架全解析!

    能碳管理平臺:讓校園管理 “能效雙升” 的智慧中樞

    模糊、管理成本高昂等諸多挑戰(zhàn)。在此形勢下,構(gòu)建一個集數(shù)據(jù)感知、智能分析、協(xié)同管控于一體的古河云科技能碳管理平臺,正成為驅(qū)動校園邁向精細(xì)化、智能化、綠色化
    的頭像 發(fā)表于 09-17 11:40 ?277次閱讀
    能碳<b class='flag-5'>管理</b>平臺:讓校園<b class='flag-5'>管理</b> “能效雙升” 的智慧<b class='flag-5'>中樞</b>

    中樞-外周-中樞閉環(huán)康復(fù)是正解嗎

    HUIYINGCPC閉環(huán)康復(fù)概述CPC(中樞-外周-中樞)閉環(huán)康復(fù)(圖1)是一種整合中樞干預(yù)(如tDCS、TMS、BCI)與外周干預(yù)(如任務(wù)導(dǎo)向訓(xùn)練、功能性電刺激)的康復(fù)模型,旨在通過
    的頭像 發(fā)表于 09-13 16:04 ?665次閱讀
    <b class='flag-5'>中樞</b>-外周-<b class='flag-5'>中樞</b>閉環(huán)康復(fù)是正解嗎

    5G CPE:為連鎖門店管理打造的智能網(wǎng)絡(luò)中樞

    局面。通過融合高速 5G 連接與集中式云管理平臺,我們幫助品牌快速構(gòu)建智能、可擴(kuò)展的數(shù)字基礎(chǔ)設(shè)施,無需承擔(dān)光纖部署的高成本與長周期。 ? 智能網(wǎng)絡(luò)中樞 隨時隨地,
    的頭像 發(fā)表于 09-04 11:02 ?707次閱讀
    5G CPE:為連鎖門店<b class='flag-5'>管理</b>打造的<b class='flag-5'>智能</b>網(wǎng)絡(luò)<b class='flag-5'>中樞</b>

    Task任務(wù)LuatOS實(shí)現(xiàn)“任務(wù)級并發(fā)”的核心引擎

    Task任務(wù)通過其強(qiáng)大的并發(fā)處理能力,使LuatOS能夠在單線程環(huán)境中模擬多線程執(zhí)行,通過協(xié)程的掛起與恢復(fù)機(jī)制,實(shí)現(xiàn)任務(wù)級的并行操作,顯著提升系統(tǒng)效能。 sys核心庫是
    的頭像 發(fā)表于 08-28 13:49 ?324次閱讀
    <b class='flag-5'>Task</b><b class='flag-5'>任務(wù)</b>:<b class='flag-5'>LuatOS</b>實(shí)現(xiàn)“<b class='flag-5'>任務(wù)</b>級并發(fā)”的核心引擎

    突破LuatOS開發(fā)瓶頸:三個二次開發(fā)必備知識揭秘!

    遇到LuatOS開發(fā)難題?或許你忽略了這三個關(guān)鍵常識。它們看似簡單,卻能破解資源管理、效率提升等瓶頸問題,為你的項目注入新活力,實(shí)現(xiàn)技術(shù)躍遷。 本期一起來了解LuatOS開發(fā)需要熟悉的幾個常識
    的頭像 發(fā)表于 06-23 15:05 ?250次閱讀
    突破<b class='flag-5'>LuatOS</b>開發(fā)瓶頸:三個二次開發(fā)必備知識<b class='flag-5'>揭秘</b>!

    【RA4L1-SENSOR】05 按鍵實(shí)現(xiàn)RTOS任務(wù)切換

    與計數(shù)功能的切換,為之后的多任務(wù)切換做個鋪墊。 2. 軟件部分 將上次的實(shí)驗工程復(fù)制一份,重命名為05_Button_Switch_Task 2.1 綁定按鍵IO &&
    發(fā)表于 06-16 22:38

    快速入門——LuatOS:sys庫多任務(wù)管理實(shí)戰(zhàn)攻略!

    在嵌入式開發(fā)中,多任務(wù)管理是提升系統(tǒng)效率的關(guān)鍵。本教程專為快速入門設(shè)計,聚焦LuatOS的sys庫,通過實(shí)戰(zhàn)案例帶你快速掌握多任務(wù)創(chuàng)建、調(diào)度與同步技巧。無論你是零基礎(chǔ)新手還是希望快速提升開發(fā)效率
    的頭像 發(fā)表于 05-29 14:36 ?577次閱讀
    快速入門——<b class='flag-5'>LuatOS</b>:sys庫<b class='flag-5'>多任務(wù)管理</b>實(shí)戰(zhàn)攻略!

    揭秘LuatOS:實(shí)時操作系統(tǒng)RTOS核心庫的關(guān)鍵技術(shù)剖析!

    為滿足實(shí)時控制場景的嚴(yán)苛需求,LuatOS核心庫采用搶占式調(diào)度策略,確保高優(yōu)先級任務(wù)即時響應(yīng)。通過靜態(tài)內(nèi)存分配和零拷貝通信機(jī)制,系統(tǒng)不僅避免了動態(tài)內(nèi)存碎片問題,還大幅提升了任務(wù)間數(shù)據(jù)交換效率,適用于
    的頭像 發(fā)表于 05-21 16:02 ?497次閱讀
    <b class='flag-5'>揭秘</b><b class='flag-5'>LuatOS</b>:實(shí)時操作系統(tǒng)RTOS核心庫的關(guān)鍵技術(shù)剖析!

    基于LuatOS核心庫的實(shí)時操作系統(tǒng)開發(fā):從理論到實(shí)踐~

    實(shí)時系統(tǒng)的開發(fā)挑戰(zhàn)在于平衡響應(yīng)時間與系統(tǒng)開銷。LuatOS核心庫通過時間片輪轉(zhuǎn)與優(yōu)先級混合調(diào)度策略,既保證了高實(shí)時性任務(wù)的即時執(zhí)行,又為低優(yōu)先級任務(wù)提供了公平調(diào)度機(jī)會。其事件驅(qū)動架構(gòu)還支持異步處理
    的頭像 發(fā)表于 05-16 13:56 ?398次閱讀
    基于<b class='flag-5'>LuatOS</b>核心庫的實(shí)時操作系統(tǒng)開發(fā):從理論到實(shí)踐~

    LuatOS協(xié)程深度解析:小白也能10分鐘學(xué)會,代碼效率直接起飛!

    嵌入式開發(fā)如何兼顧效率與簡潔?LuatOS協(xié)程給出完美答案!它用類線程的語法封裝異步邏輯,讓多任務(wù)開發(fā)像單線程一樣簡單。本文用圖文并茂的方式拆解協(xié)程原理,10分鐘帶你輕松入門! ? LuatOS協(xié)程
    的頭像 發(fā)表于 04-10 15:23 ?442次閱讀
    <b class='flag-5'>LuatOS</b>協(xié)程深度解析:小白也能10分鐘學(xué)會,代碼效率直接起飛!

    工業(yè)網(wǎng)絡(luò)管理新紀(jì)元:揭秘五大“利器”,化繁為簡的智慧轉(zhuǎn)型

    本期導(dǎo)讀 在這個萬物互聯(lián)的時代,工業(yè)網(wǎng)絡(luò)作為智能制造的“神經(jīng)中樞”,其復(fù)雜性與日俱增。面對海量設(shè)備、多樣化協(xié)議、實(shí)時數(shù)據(jù)處理以及安全防護(hù)等挑戰(zhàn),如何高效管理工業(yè)網(wǎng)絡(luò),確保生產(chǎn)流暢與數(shù)據(jù)安全,成為企業(yè)
    的頭像 發(fā)表于 12-21 17:51 ?759次閱讀
    工業(yè)網(wǎng)絡(luò)<b class='flag-5'>管理</b>新紀(jì)元:<b class='flag-5'>揭秘</b>五大“利器”,化繁為簡的智慧轉(zhuǎn)型