iT邦幫忙

2021 iThome 鐵人賽

DAY 16
1
Arm Platforms

ARM 組合語言:30天學習心得分享系列 第 16

Day 16 訊息佇列的使用方式

訊息佇列的使用方式,常用的大致上有下列幾種,

1.非互鎖的單向資料通信:這種就是最簡單的傳送訊息方式,一個訊息來源(source)、一個訊息佇列和一個工作接收元(sink),當硬體觸動一個中斷服務的處理機制(interrupt service routines;簡稱ISR)執行時,此時ISR會釋放一個或多個訊息進入訊息佇列裡面,訊息來源就會傳到接收元裡面,如果訊息佇列滿了,有可能會有丟失訊息的狀況出現,這是單向通信可能會出現的問題。

2.互鎖的單向資料通信:此種方式,就是保證訊息能夠傳達,如果沒有傳達成功,此時訊息來源跟工作接收元會同步的互相提醒對方,確認可以再傳送另一個訊息過去,避免單項通訊時,有訊息丟失的情形出現。

3.互鎖的雙向資料通信:此種方式,有點向雙掛號的方式,當一個訊息傳送出去,會在一個訊息佇列當中等待,等到對方收到訊息時,訊息接收端會把訊息放到另一個訊息佇列,等待訊息來源方知道已經接收到訊息為止,這種雙向資料通信,就是多一個回覆的訊息佇列。

4.廣播通信:所謂廣播通信,就是允許訊息同時給很多的接受端接收,這類廣播機制,不一定適用於每種類型的訊息佇列裡面,如果沒弄好,有時可能會產生其他工作無法同時收到訊息的狀況發生。

以上為常見的訊息佇列的使用方式,當然還有其他不同的方式,交換訊息的處理方式,大概就介紹到此了!


上一篇
Day 15 訊息佇列的儲存、接收及傳送
下一篇
Day 17 管道的應用
系列文
ARM 組合語言:30天學習心得分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言