精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Niobe開發板中基于OpenHarmony操作系統進行多線程(多任務)開發

系統 OpenHarmony
OpenHarmony LiteOS可以給用戶提供多個線程,實現線程間的切換,幫助用戶管理業務程序流程。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://ost.51cto.com??

niobe開發套件詳情介紹:??Niobe行業物聯網開發板及套件詳解??

線程的基本概念

從系統角度看,線程是競爭系統資源的最小運行單元。線程可以使用或等待CPU、使用內存空間等系統資源,并獨立于其它線程運行。

OpenHarmony LiteOS可以給用戶提供多個線程,實現線程間的切換,幫助用戶管理業務程序流程。具有如下特性:

  1. 支持多線程。
  2. 一個線程代表一個任務。
  3. 搶占式調度機制,高優先級的線程可打斷低優先級線程,低優先級線程必須在高優先級線程阻塞或結束后才能得到調度。
  4. 相同優先級線程支持時間片輪轉調度方式。
  5. 共有32個優先級[0-31],最高優先級為0,最低優先級為31。用戶進程可配置的優先級有22個 (10~31)。

1、線程的狀態

線程有多種運行狀態。系統初始化完成后,創建的線程就可以在系統中競爭一定的資源,由內核進行調度。

線程狀態通常分為以下四種:

  • 就緒(Ready):該線程在就緒隊列中,只等待CPU。
  • 運行(Running):該線程正在執行。
  • 阻塞(Blocked):該線程不在就緒隊列中。包含線程被掛起(suspend狀態)、線程被延時(delay狀態)、線程正在等待信號量、讀寫隊列或者等待事件等。
  • 退出態(Dead):該線程運行結束,等待系統回收資源。

2、 線程狀態遷移

就緒態→運行態: 任務創建后進入就緒態,發生任務切換時,就緒隊列中最高優先級的任務被執行,從而進入運行態,同時該任務從就緒隊列中移出。

運行態→阻塞態 :正在運行的任務發生阻塞(掛起、延時、讀信號量等)時,將該任務插入到對應的阻塞隊列中,任務狀態由運行態變成阻塞態,然后發生任務切換,運行就緒隊列中最高優先級任務。

阻塞態→就緒態(阻塞態→運行態):阻塞的任務被恢復后(任務恢復、延時時間超時、讀信號量超時或讀到信號量等),此時被恢復的任務會被加入就緒隊列,從而由阻塞態變成就緒態;此時如果被恢復任務的優先級高于正在運行任務的優先級,則會發生任務切換,該任務由就緒態變成運行態。

就緒態→阻塞態 : 任務也有可能在就緒態時被阻塞(掛起),此時任務狀態由就緒態變為阻塞態,該任務從就緒隊列中刪除,不會參與任務調度,直到該任務被恢復。

運行態→就緒態 : 有更高優先級任務創建或者恢復后,會發生任務調度,此刻就緒隊列中最高優先級任務變為運行態,那么原先運行的任務由運行態變為就緒態,依然在就緒隊列中。

運行態→退出態 : 運行中的任務運行結束,任務狀態由運行態變為退出態。退出態包含任務運行結束的正常退出狀態以及Invalid狀態。例如,任務運行結束但是沒有自刪除,對外呈現的就是Invalid狀態,即退出態。

阻塞態→退出態 : 阻塞的任務調用刪除接口,任務狀態由阻塞態變為退出態。

3、線程管理

對于多線程的場景,HarmonyOS內核管理線程靠任務池和就緒隊列,執行靠調度算法。

調度算法:HarmonyOS內核中的線程采用搶占式調度機制,同時支持SCHED_RR和SCHED_FIFO調度策略

RR策略能基本保證我們每個任務都能夠得到有效的執行,不會有一些任務進行長時間等待

FIFO策略優點在于任務的切換比較簡單,而且對于一些時間片不好把握的任務來說,FIFO能偶更有效的利用我們的cpu。

線程相關API

此處介紹cmsis2.0的線程接口,頭文件:”//third_party/cmsis/CMSIS/RTOS2/Include/cmsis_os2.h”

創建線程

osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr);

函數osThreadNew通過將線程添加到活動線程列表并將其設置為就緒狀態來啟動線程函數。線程函數的參數使用參數指針*argument傳遞。當創建的thread函數的優先級高于當前運行的線程時,創建的thread函數立即啟動并成為新的運行線程。線程屬性是用參數指針attr定義的。屬性包括線程優先級、堆棧大小或內存分配的設置。可以在RTOS啟動(調用 osKernelStart)之前安全地調用該函數,但不能在內核初始化 (調用 osKernelInitialize)之前調用該函數。

開發實例

1、 確定目錄結構

先在路徑./applications/app下新建一個目錄,用于存放業務源碼文件。其中“.”表示OpenHarmony源碼的根目錄。

例如:在app下新增業務NIOBE_OS_helloworld,其中hello_world.c為業務代碼,BUILD.gn為編譯腳本,其目錄結構如下:

.
└── applications
└── app
│── TW002_OS_thread
│── os_thread_example.c
└── BUILD.gn
└── BUILD.gn

2、 編寫業務代碼

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
/*****任務一*****/
void thread_entry1(void)
{
int sum = 0;
while (1)
{
printf("This is Niobe Thread1----%d\r\n", sum++);
usleep(500000);
}
}
/*****任務二*****/
void thread_entry2(void)
{
int sum = 0;
while (1)
{
printf("This is Niobe Thread2----%d\r\n", sum++);
usleep(500000);
}
}
/*****任務創建*****/
static void OS_Thread_example(void)
{
osThreadAttr_t attr;
attr.name = "thread1";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = 1024 * 4;
attr.priority = 25;

if (osThreadNew((osThreadFunc_t)thread_entry1, NULL, &attr) == NULL)
{
printf("Falied to create thread1!\n");
}
attr.name = "thread2";
if (osThreadNew((osThreadFunc_t)thread_entry2, NULL, &attr) == NULL)
{
printf("Falied to create thread2!\n");
}
}

3、 編寫將業務構建成靜態庫的BUILD.gn

static_library("os_thread_example"){
sources = [
"os_thread_example.c"
]
include_dirs = [
"http://third_party/cmsis/CMSIS/RTOS2/Include"
]
}

4、編寫模塊BUILD.gn文件

import("http://build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
#"NIOBE_OS_helloworld:helloworld",
"TW002_OS_thread:os_thread_example"
]
}

編譯

用docker編譯,進入OpenHarmony代碼根目錄,運行命令進入docker鏡像,在鏡像中用hb編譯:

sudo docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5   
hb set
.
//繼續回車選擇niobe_wifi_iot
hb build -b release -f

等待編譯成功。

燒錄

編譯成功后,bin文件會保存在out/niobe/niobe_wifi_iot目錄下:

用HiBurn.exe將Hi3861_wifiiot_app_allinone.bin文件燒錄到niobe核心板上:

首先用typeC線連接電腦和Niobe核心板,可通過設備管理確定Niobe連接的端口號,該端口號后續HiBurn和sscom都需要。

再通過HiBurn.exe工具將固件燒錄到Niobe上,HiBurn工具的獲取和操作可參考燒錄指導

調試

采用串口調試工具sscom查看串口打印信息,先對sscom進行配置,設置端口號、波特率等:

點擊打開串口,按下Niobe核心板上的復位按鍵,可通過sscom看到串口打印日志如下:

This is Niobe Thread1----2
This is Niobe Thread2----5
This is Niobe Thread1----3
This is Niobe Thread2----6

可以看到線程thread_entry1和線程thread_entry2交替運行。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://ost.51cto.com??


責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-02-24 16:39:41

OpenHarmonNiobe開發鴻蒙

2022-10-14 15:55:24

環境搭建鴻蒙

2022-04-01 15:54:01

DHCP網絡協議開發板

2022-01-07 21:11:27

鴻蒙HarmonyOS應用

2011-05-31 13:29:40

Android 多線程

2021-10-11 14:14:42

鴻蒙HarmonyOS應用

2022-03-03 19:21:50

Harmony鴻蒙操作系統

2023-08-02 09:29:40

任務池TaskPool

2023-08-01 16:35:48

鴻蒙ArkUI應用開發

2020-12-29 09:59:01

鴻蒙HarmonyOS智能家居

2021-09-10 10:01:04

鴻蒙HarmonyOS應用

2022-02-16 16:01:02

Hi3516開發板鴻蒙

2021-12-16 15:14:54

鴻蒙HarmonyOS應用

2009-07-17 17:29:13

多任務多線程

2020-12-16 10:05:48

鴻蒙開發板Onenet平臺

2011-02-28 14:34:01

蘋果iOS

2023-08-12 11:22:29

deepin

2023-06-29 18:07:12

deepin

2021-09-13 10:03:35

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

久久天天躁狠狠躁夜夜爽蜜月| 欧美性xxxx在线播放| 亚洲xxxx在线| 日韩精品一卡二卡| 黑人操亚洲人| 日韩一区二区视频| 男人日女人bb视频| 免费黄色在线观看| 国产精品一区二区视频| 97人人爽人人喊人人模波多 | 久久综合成人精品亚洲另类欧美 | 精品国产精品国产偷麻豆| 在线播放欧美女士性生活| 黄页免费在线观看视频| 日本www在线观看视频| www.亚洲色图| 91久久精品日日躁夜夜躁国产| 日韩经典在线观看| 天天精品视频| 亚洲欧美成人一区二区在线电影| 日韩在线一区视频| 欧美aa在线观看| 亚洲欧美乱综合| 日本精品视频一区| 熟妇高潮一区二区高潮| 韩国欧美国产1区| 国产精品久久久精品| 中文字幕一区二区三区精品| 91精品久久久久久久久久不卡| 亚洲男人天堂网| 欧美激情 亚洲| 精品视频91| 欧美三级电影精品| 久热免费在线观看| 欧美亚洲日本精品| 一区二区三区在线免费视频 | 在线日本成人| 精品国产欧美成人夜夜嗨| 99久久人妻无码精品系列| 超碰cao国产精品一区二区| 欧美疯狂做受xxxx富婆| 国产野外作爱视频播放| 日韩欧美看国产| 欧美日韩国产在线播放| 久久久亚洲国产精品| 18网站在线观看| 亚洲情趣在线观看| 在线免费观看成人| 欧美精品电影| 亚洲欧洲国产日本综合| 亚洲精品中文字幕乱码三区不卡| 国产一级免费在线观看| www日韩大片| 欧美lavv| 国产福利在线看| 国产日韩精品一区| 亚洲国产欧美日韩| av免费观看一区二区| 国产精品青草综合久久久久99| 日韩欧美99| av免费在线一区二区三区| 国产精品妹子av| 国产高潮呻吟久久久| 精品国产99久久久久久| 亚洲欧洲三级电影| 亚洲精品少妇一区二区| а√在线天堂官网| 岛国av一区二区| 国产男女激情视频| 欧美在线se| 日韩一区二区高清| 男人的天堂影院| 免费看日本一区二区| 亚洲欧洲一区二区三区在线观看 | 好吊成人免视频| 欧美日韩第二页| 四虎4545www国产精品| 欧美日韩高清在线| 中文字幕乱码在线人视频| 亚洲视频一起| 亚洲偷欧美偷国内偷| 国产黄色录像片| 最新成人av网站| 国产激情999| 国产精品国产三级国产普通话对白| 国产精品一区二区在线观看网站| 国产视频一区二区不卡| 国产有码在线| 夜夜嗨av一区二区三区四季av| 青青青免费在线| 国产精品久久久久久久久久齐齐 | 日本黄色大片在线观看| 亚洲人成网www| 日韩有码在线电影| 日产精品久久久久| 美女爽到高潮91| 国产日韩欧美一区二区| 99免在线观看免费视频高清| 亚洲一区在线视频观看| 欧美日韩大尺度| 8x国产一区二区三区精品推荐| 亚洲香蕉av在线一区二区三区| 欧美视频www| 久久精品一区二区国产| 亚洲综合色av| 成人在线免费公开观看视频| 亚洲尤物视频在线| 中文字幕在线综合| 青青一区二区| 欧美大片va欧美在线播放| 久久久精品福利| 国产精品夜夜嗨| 日本一区二区三区www| 欧美1234区| 欧美精品v日韩精品v韩国精品v| 玖玖爱在线精品视频| 99久久99热这里只有精品| 日本伊人精品一区二区三区介绍| 精品久久无码中文字幕| 国产精品美女久久福利网站| 欧美日韩中文在线视频| 9l视频自拍九色9l视频成人| www日韩欧美| 亚洲第一区av| 久久日一线二线三线suv| www插插插无码免费视频网站| 成人亚洲综合| 亚洲人成在线观看网站高清| 一级片免费网址| 国产成人午夜高潮毛片| 在线观看成人av电影| www.久久.com| 亚洲一区999| 国产免费一级视频| 99re这里只有精品首页| 久久99久久99精品| 在线播放一区二区精品视频| 免费99精品国产自在在线| 亚洲天堂视频在线| 中文字幕电影一区| 色免费在线视频| 欧美老女人另类| 国产精品久久久久久久久| 欧美18xxxxx| 色偷偷88欧美精品久久久| 波多野结衣av在线观看| 久久精品导航| 日韩视频在线观看国产| 成人自拍视频网| 精品国偷自产在线视频| 91资源在线视频| 亚洲男同性恋视频| 中文字幕乱码在线人视频| 欧美精品1区| 国产一区二区三区色淫影院 | 国产精品美女久久久久久免费| 欧美精品久久久久久久久久丰满| 色婷婷亚洲婷婷| 亚洲午夜精品久久久久久高潮| 日本中文字幕一区二区视频| 亚洲精品日韩成人| 亚洲精品69| 久久97精品久久久久久久不卡 | 粉嫩91精品久久久久久久99蜜桃| 国产亚洲精品91在线| 在线观看免费高清视频| 亚洲欧洲av色图| 中文字幕永久免费| 亚洲永久在线| 色999五月色| 日韩成人在线看| 国语自产偷拍精品视频偷 | 亚洲综合影院| 欧美亚洲激情在线| 97视频在线观看网站| 欧美一区二区日韩| 久久狠狠高潮亚洲精品| 久久久精品中文字幕麻豆发布| 久热精品在线观看视频| 欧美精品国产| 日韩av影视| 欧美日韩午夜电影网| 91精品国产色综合久久不卡98| 嫩草在线播放| 欧美一区二区三区在线电影 | 欧美日韩一区二区在线观看视频 | 久久av一区| 一本一道久久久a久久久精品91| 欧美久久亚洲| 国产精品久久久久久久久久东京| www.久久久久.com| 亚洲精品综合精品自拍| 国产又粗又猛又黄| 性感美女极品91精品| 超碰人人人人人人人| 成人av在线播放网址| 亚欧美在线观看| 99亚洲伊人久久精品影院红桃| 亚洲一区二区三区色| 加勒比色老久久爱综合网| 国产精品男人的天堂| 17videosex性欧美| 俺也去精品视频在线观看| 四虎国产精品永远| 日韩欧美一区二区视频| 国产精品午夜一区二区| 欧美日韩国产一中文字不卡| 国产免费无码一区二区视频| 国产日韩v精品一区二区| 97人妻精品一区二区三区免费| 美日韩一区二区三区| 国产视频一视频二| 午夜精品电影| 在线一区亚洲| 成人av二区| 久久久久一区二区| 国产精品毛片视频| 亚洲自拍偷拍第一页| 福利一区二区免费视频| 日韩av大片免费看| 色一区二区三区| 久久久久一本一区二区青青蜜月| 香港伦理在线| 在线观看亚洲视频| 青青草视频在线免费观看| 精品三级在线观看| 国产免费黄色网址| 欧美日韩激情一区二区| 中文字幕一区二区三区四区欧美| 偷拍与自拍一区| 国产一级特黄a高潮片| 亚洲美女视频在线观看| 三级黄色录像视频| 国产精品久久久久久久久免费丝袜| 在线国产视频一区| 91蝌蚪国产九色| 国产精品探花一区二区在线观看| 成人激情视频网站| 亚洲熟女一区二区| 成人午夜精品在线| 久草视频福利在线| 成人国产精品免费观看| 深夜视频在线观看| 国产成人精品免费| 在线观看亚洲免费视频| 粉嫩av一区二区三区在线播放 | 国产精品福利电影一区二区三区四区| 精品少妇人妻一区二区黑料社区| 26uuu亚洲婷婷狠狠天堂| 日本japanese极品少妇| 91麻豆国产精品久久| 亚洲永久无码7777kkk| 91蜜桃免费观看视频| 97超碰在线免费观看| 久久久99免费| 亚洲自拍偷拍图| 国产精品久久午夜夜伦鲁鲁| 色偷偷男人天堂| 亚洲素人一区二区| 久久精品99久久久久久| 亚洲国产成人av| www.国产色| 色香色香欲天天天影视综合网| 懂色av中文字幕| 欧美高清激情brazzers| 亚洲毛片在线播放| 日韩成人在线免费观看| 精品资源在线看| 色噜噜久久综合伊人一本| 国内精品久久久久久野外| 欧美黑人国产人伦爽爽爽| 日韩激情电影| 国产免费久久av| 一区二区三区视频播放| 精品视频免费观看| 日韩理论电影院| 无颜之月在线看| 亚洲免费影视| 婷婷激情5月天| a美女胸又www黄视频久久| 变态另类ts人妖一区二区| 亚洲欧美日韩精品久久久久| 日韩av黄色片| 欧美三级中文字幕| 丁香六月天婷婷| 国产午夜精品视频| 丝袜综合欧美| 日韩免费黄色av| 午夜日韩影院| 日韩欧美国产二区| 午夜久久久久| 北条麻妃在线一区| 国产老妇另类xxxxx| 免费看污黄网站在线观看| 17c精品麻豆一区二区免费| 国产精品久久久久久久妇| 欧美美女一区二区| 日漫免费在线观看网站| 久久不射电影网| 国产精品亚洲一区二区三区在线观看| 91观看网站| 精品理论电影在线| 国产免费黄视频| 国产乱码精品一区二区三| 亚洲精品国产精品国自产网站| 亚洲一区二区视频在线| 中文字幕资源网| 亚洲精品在线观看www| 午夜小视频在线观看| 国产精自产拍久久久久久| 秋霞综合在线视频| 成年人视频网站免费| 男女性色大片免费观看一区二区| 国产老熟女伦老熟妇露脸| 亚洲欧美区自拍先锋| 亚洲一区二区三区高清视频| 日韩精品高清在线| 韩国成人免费视频| 国产日韩在线播放| 俺要去色综合狠狠| 欧美精品一区免费| 成人av资源站| 伊人国产在线观看| 日韩一区和二区| 高潮毛片在线观看| 国产区精品在线观看| av一区二区在线观看| 红桃av在线播放| 91在线视频官网| 国产在线精品观看| 精品国精品国产尤物美女| 91网在线看| 2020国产精品久久精品不卡| 色中色综合网| 99国产精品久久久久久| 国产精品美女久久久久高潮| 成人免费视频国产免费| 亚洲欧美中文日韩v在线观看| 高清毛片在线观看| 精品国产日本| 国产欧美短视频| 极品人妻一区二区三区| 五月天网站亚洲| 四虎影视精品成人| 日韩美女中文字幕| 欧美少妇性xxxx| 2025韩国理伦片在线观看| 国产精品久久午夜| 国产精品国产一区二区三区四区| 日韩在线免费视频| 国产精品国产三级在线观看| 一区二区成人国产精品 | 激情久久中文字幕| 欧美做受高潮中文字幕| 亚洲妇女屁股眼交7| 婷婷丁香花五月天| 日韩美女在线播放| 人人狠狠综合久久亚洲婷| 国产精品一区二区小说| 日韩美女精品在线| 亚洲欧美另类视频| 国产69久久精品成人| 欧美综合视频| 一本之道在线视频| 午夜久久电影网| 国产午夜视频在线观看| 国产欧美中文字幕| 国产在线欧美| 人妻无码一区二区三区| 在线免费av一区| 在线观看wwwxxxx| 精品视频免费观看| 理论电影国产精品| 久久国产在线视频| 亚洲毛片在线看| 91精品一久久香蕉国产线看观看| 激情小视频网站| 国产网站一区二区三区| 亚洲一区二区色| 久久久久久久一| 精品视频国产| 无码人妻少妇色欲av一区二区| 午夜精品久久久| 8888四色奇米在线观看| 91在线免费看片| 久久综合网络一区二区| 国产探花在线免费观看| 日韩高清a**址| 日韩综合av| 国模无码视频一区二区三区| 国产精品福利av| 亚洲色大成网站www| 成人午夜在线观看| 亚洲尤物在线| 亚洲色婷婷一区二区三区| 亚洲色图偷窥自拍| 一区二区三区免费在线看| 黑森林精品导航| 天天色图综合网| 91高清在线观看视频|