【原理】RT-Thread內部IPC之郵箱

郵箱,在生活中可以用來傳遞資料、信息,在操作系統中,任務間的通訊也有郵箱,此郵箱與生活用的郵箱有異曲同工之處,都可以用來傳遞信息,不同的便是使用環境不同。

RT-Thread的郵箱,每一封郵箱只能容納4個字節內容(針對32位處理器,指針大小即4個字節,剛好能容納一個指針),當發送的內容超過4個字節時,可傳遞內容的地址。

 

郵箱的特性:

1,創建時,線程阻塞排序均可以選擇優先級 or FIFO方式

2,線程阻塞時間均可以選擇直接返回、掛起一段時間、永久等待。

3,可設定郵箱最大接收數量。(信號量、互斥量、事件不可設定最大值)

 

郵箱的發送與接收機制:

發送郵箱時,如果當前郵箱已經滿,線程根據阻塞時間直接返回或掛起一段時間、永久等待。阻塞期間會進行線程調度,其他線程會執行。

接收郵件時,如果當前郵箱裏面沒有郵件,線程根據阻塞時間直接返回或掛起一段時間、永久等待。阻塞期間會進行線程調度,其他線程會執行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章