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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

Task任務

Message消息

Timer定時器

Run調(diào)度器

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

一、Task:LuatOS任務功能

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

從設計原理的角度來看:

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

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

從用戶使用的角度來看:

基礎task如果阻塞功能使用不當,可能會丟失自己應該處理的消息;

高級task如果阻塞功能使用不當,不會丟失自己應該處理的消息。

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

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

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

高級task的創(chuàng)建和啟動運行: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)建并且啟動運行一個基礎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ù)名的作用域,如果使用不當,很可能會使用一個無效的函數(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)建并且啟動運行一個高級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ù)名的作用域,如果使用不當,很可能會使用一個無效的函數(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è)務邏輯中被執(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ù)名的作用域,如果使用不當,很可能會使用一個無效的函數(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對應的管理表資源。

2)注意事項:

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

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

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

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

高級task的任務處理函數(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    教程來啦!LuatOS中的消息通信機制詳解及其應用場景

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    禾川高性能可編程控制器M系列產(chǎn)品介紹

    禾川推出M系列高性能可編程控制器,以卓越性能助力智能化升級,支持多任務管理、多種軸控方式,適用于光伏、3C、機器人等多行業(yè)。
    的頭像 發(fā)表于 11-19 14:31 ?1205次閱讀
    禾川高性能可編程控制器M系列產(chǎn)品介紹