10分鐘學(xué)會(huì)LuatOS協(xié)程,從此你的程序也能像通勤族利用碎片時(shí)間一樣游刃有余。現(xiàn)在就去動(dòng)手試一試,開啟異步編程新體驗(yàn)!寫給第一次聽說協(xié)程的你?:別怕!協(xié)程不是復(fù)雜概念,看完這篇,10分鐘就能上手寫代碼~
1、協(xié)程是什么?——小白秒懂版?
場景?:小明一邊寫作業(yè),一邊等外賣:
?普通做法?:寫5分鐘作業(yè)→開門看外賣→再寫5分鐘→再去看外賣...(效率低)
?協(xié)程做法?:
?協(xié)程A(寫作業(yè))?:寫5分鐘 → ?暫停?,去檢查外賣
?協(xié)程B(等外賣)?:聽到敲門聲 → ?繼續(xù)?寫作業(yè)
簡而言之,協(xié)程的本質(zhì)?是讓代碼學(xué)會(huì)?“暫停-繼續(xù)”?,像切換作業(yè)和外賣一樣切換任務(wù)!
2、極簡三步寫出第一個(gè)協(xié)程?
第1步:創(chuàng)建協(xié)程 → sys.taskInit()?
劃重點(diǎn)?:
sys.taskInit(函數(shù)) 用來包裹你的任務(wù)代碼;
sys.wait(時(shí)間) 是暫停協(xié)程的“魔法”。
第2步:再創(chuàng)建一個(gè)協(xié)程
第3步:啟動(dòng)所有協(xié)程 → sys.run()?
新手避坑指南?:
忘記寫sys.run() → 所有協(xié)程都不會(huì)運(yùn)行!
sys.wait()沒寫 → 協(xié)程會(huì)“卡死”其他任務(wù)。
3、查看運(yùn)行結(jié)果
你會(huì)在控制臺(tái)看到?:
發(fā)現(xiàn)了嗎??
兩個(gè)任務(wù)在?自動(dòng)交替執(zhí)行?;不用寫復(fù)雜的時(shí)間管理代碼!
4、實(shí)戰(zhàn)試練:手機(jī)同時(shí)下載和聽歌?
1)應(yīng)用需求?:
下載任務(wù):每3秒下載1%;
聽歌任務(wù):每1秒顯示歌詞。
?2)代碼實(shí)現(xiàn)?:
?3)輸出效果?:
關(guān)鍵理解?:
下載任務(wù)暫停的3秒里,CPU自動(dòng)去執(zhí)行歌詞任務(wù);
協(xié)程之間?不會(huì)互相阻塞?!
5、小白常見問題?
1)為什么我的協(xié)程不執(zhí)行??
檢查三件套?:
是否用sys.taskInit()包裹了代碼?
協(xié)程里有沒有寫sys.wait()?
代碼最后有沒有加sys.run()?
2)協(xié)程和函數(shù)有什么區(qū)別??
?普通函數(shù)?:一旦調(diào)用,必須從頭執(zhí)行到結(jié)束(像必須一口氣跑完100米)。
?協(xié)程?:可以跑10米→暫停→去跑另一個(gè)任務(wù)→回來繼續(xù)(像隨時(shí)暫停的接力賽)。
?3)一個(gè)協(xié)程里能寫多個(gè)sys.wait()嗎??
?當(dāng)然可以!
今天的內(nèi)容就分享到這里了~即刻啟動(dòng)你的“任務(wù)切換器”協(xié)程,動(dòng)手試試吧!
審核編輯 黃宇
-
代碼
+關(guān)注
關(guān)注
30文章
4886瀏覽量
70242 -
LuatOS
+關(guān)注
關(guān)注
0文章
93瀏覽量
2169
發(fā)布評(píng)論請先 登錄
快速入門——LuatOS:sys庫多任務(wù)管理實(shí)戰(zhàn)攻略!

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

1分鐘學(xué)會(huì)T113-i核心板串口調(diào)試技巧

手把手教你配置TSMaster軟件網(wǎng)關(guān),3分鐘輕松上手!

進(jìn)程、線程、協(xié)程傻傻分不清?一文帶你徹底扒光它們的\"底褲\"!
如何用MES系統(tǒng)實(shí)現(xiàn)生產(chǎn)異常10分鐘快速響應(yīng)
基于BLE技術(shù) 智能手寫筆解決方案:改變你的書寫體驗(yàn)PTR5415
ADS1232高速測量時(shí)出現(xiàn)20分鐘的長周期波動(dòng),是什么原因呢?
ADS1299EEG-FE套件為什么在打開的時(shí)候讀寄存器都要10分鐘以上,而且軟件總是報(bào)錯(cuò),怎么解決?
Air201定位模組LuatOS輕松搞定超低功耗模式!

UART串口通信示例:開啟通信寶藏之門的定位模組LuatOS入門

【上海】9月21日RT-Thread巡回線下培訓(xùn)-RTduino 10分鐘上手嵌入式

【「倉頡編程快速上手」閱讀體驗(yàn)】+壹讀后感
【武漢】9月7日RT-Thread巡回線下培訓(xùn)-RTduino-10分鐘上手嵌入式

MQTT應(yīng)用看這篇!合宙Air780EP_LuatOS_MQTT應(yīng)用指南

評(píng)論