在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > RTT線程管理

            RTT線程管理

            發(fā)布人:3280519304 時間:2023-06-18 來源:工程師 發(fā)布文章

            RTT線程管理

            RRT是將一個大任務分解成多個小任務,線程是實現(xiàn)任務的載體,是RTT的最基本調度單位,描述了一個任務執(zhí)行的運行環(huán)境和優(yōu)先等級線程在運行時會認為自己是以獨占CPU的方式運行。

            功能特點:

            主要功能:對線程進行管理和調度將所有線程分為系統(tǒng)線程和用戶線程

            系統(tǒng)線程:由RTT內核創(chuàng)建的線程

            用戶線程:由應用程序創(chuàng)建的線程

            線程從內核對象容器中分配線程對象,當線程被刪除時也會被從對象容器中刪除

            RTT線程調度器為搶占式:從就緒線程列表中查找最高優(yōu)先級線程,保證它能夠被運行,最高優(yōu)先級任務一旦就緒,總能得到CPU的使用權;當一個運行著的線程使一個比它優(yōu)先級高的線程滿足運行條件,當前線程的CPU使用權就會被讓出給更高優(yōu)先級的線程;當中斷服務程序讓一個高優(yōu)先級的線程滿足運行條件,中斷完成時,被中斷的線程掛起,優(yōu)先級高的線程開始運行

            調度器切換線程的步驟:

            1、保存當前線程上下文/掛起被中斷線程

            2、切換到高優(yōu)先級線程

            3、等待高優(yōu)先級線程運行完畢

            4、切換回之前的線程

            5、恢復當前線程上下文

            線程的基本操作:創(chuàng)建/初始化線程、啟動線程、運行線程、刪除/脫離線程。對于動態(tài)線程使用rt_thread_create()創(chuàng)建,動態(tài)線程會自動從動態(tài)內存堆上分配??臻g與線程句柄(隱含條件:初始化heap后才能使用create創(chuàng)建動態(tài)線程);使用rt_thread_init()初始化靜態(tài)線程,由用戶為其分配??臻g和線程句柄。

            注意分配出的??臻g是按照rtconfig.h中配置的RT_ALIGN_SIZE方式對齊。

            線程創(chuàng)建成功返回線程句柄,失敗則返回RT_NULL。

            使用rt_thread_delete()刪除線程。

            這個函數(shù)僅在使能了系統(tǒng)動態(tài)堆時才有效(即已經定義RT_USING_HEAP)。

            用此函數(shù)刪除線程接口僅僅釋放掉了部分控制資源,讓線程變?yōu)殛P閉態(tài),不讓它再使用CPU,真正釋放線程控制塊和釋放線程棧要到下次執(zhí)行空閑線程時,由空閑線程執(zhí)行最后的線程刪除任務。

            也就是說rt_thread_delete()負責把線程弄死,但尸體還堆在內存里,空閑線程會完成收尸工作。

            RT-Thread 線程的優(yōu)先級是表示線程被調度的優(yōu)先程度。每個線程都具有優(yōu)先級,線程越重要,賦予的優(yōu)先級就應越高,線程被調度的可能才會越大。

            RT-Thread 最大支持 256 個線程優(yōu)先級 (0~255),數(shù)值越小的優(yōu)先級越高,0 為最高優(yōu)先級。在一些資源比較緊張的系統(tǒng)中,可以根據實際情況選擇只支持 8 個或 32 個優(yōu)先級的系統(tǒng)配置;對于 ARM Cortex-M 系列,普遍采用 32 個優(yōu)先級。最低優(yōu)先級默認分配給空閑線程使用,用戶一般不使用。在系統(tǒng)中,當有比當前線程優(yōu)先級更高的線程就緒時,當前線程將立刻被換出,高優(yōu)先級線程搶占處理器運行。

            *博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



            關鍵詞: 線程管理

            技術專區(qū)

            關閉