RT thread常見概念

2021-09-08 03:06:44 字數 684 閱讀 6733

概念:停車場和停車場管理員一樣。要去停車的車輛相當於乙個任務,管理員相當於訊號量,車位相當於公共資源,車要去停車,訊號量(管理員)可以知道是否有車位,中間的管理員。

作用:不同任務之間進行通訊。

概念:互斥鎖,停車場進入乙個輛車後,就把停車場鎖住,不給其他人使用。沒有中間管理

互斥量用於執行緒的互斥,訊號量用於執行緒的同步。這是互斥量和訊號量的根本區別,也就是互斥和同步之間的區別

互斥:是指某一資源同時只允許乙個訪問者對其進行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。

同步:是指在互斥的基礎上(大多數情況),通過其它機制實現訪問者對資源的有序訪問。在大多數情況下,同步已經實現了互斥,特別是所有寫入資源的情況必定是互斥的。少數情況是指可以允許多個訪問者同時訪問資源

互斥量值只能為0/1,訊號量值可以為非負整數。

也就是說,乙個互斥量只能用於乙個資源的互斥訪問,它不能實現多個資源的多執行緒互斥問題。訊號量可以實現多個同類資源的多執行緒互斥和同步。當訊號量為單值訊號量是,也可以完成乙個資源的互斥訪問

作用:在任務之間進行訊息交換。

使用場景:

單個郵件大小的限制(4個位元組),郵箱的總大小(由使用者自己設定)。每次傳送的大小是固定。

考慮到郵箱的特點,所以需要執行緒間同步或互斥的可以使用,也就是需要傳值的,可以使用郵箱,例如呼吸燈的頻率。傳送不同的值,頻率不一樣。

RT Thread常見問題

1.rt thread的執行緒棧最大能夠設定成多大?2.rt kprintf為什麼是輪詢方式,並且允許搶占?3.建立了乙個執行緒,然後在finsh中用list thread 結果這個執行緒的error總是 2,也就是 rt etimeout,執行緒是個while迴圈,執行一段程式,然後rt thre...

常見測試概念

靜態測試 不執行被測程式本身,僅通過分析 檢查源程式的語法 介面 過程來檢查程式的正確性。參考文件需求規格說明書 軟體設計說明書 源程式結構分析 流程圖等來找錯。動態測試 執行被測程式,檢查執行結果與預期的差異,分析並執行效率效能等。黑盒測試 不關心 從系統表現來測。具體有等價類劃分法,邊界值分析法...

Rtthread學習筆記

rt sem init rt sem create rt sem take 等待 訊號量 rt sem release 放出 訊號量 rt sem detach 訊號量脫離2.互斥量 與訊號量不同的是,互斥量只能由持有執行緒釋放,其他執行緒不可釋放 取得互斥量的執行緒與高優先度的優先順序相同 rt ...