訊息佇列的使用方式,常用的大致上有下列幾種,
1.非互鎖的單向資料通信:這種就是最簡單的傳送訊息方式,一個訊息來源(source)、一個訊息佇列和一個工作接收元(sink),當硬體觸動一個中斷服務的處理機制(interrupt service routines;簡稱ISR)執行時,此時ISR會釋放一個或多個訊息進入訊息佇列裡面,訊息來源就會傳到接收元裡面,如果訊息佇列滿了,有可能會有丟失訊息的狀況出現,這是單向通信可能會出現的問題。
2.互鎖的單向資料通信:此種方式,就是保證訊息能夠傳達,如果沒有傳達成功,此時訊息來源跟工作接收元會同步的互相提醒對方,確認可以再傳送另一個訊息過去,避免單項通訊時,有訊息丟失的情形出現。
3.互鎖的雙向資料通信:此種方式,有點向雙掛號的方式,當一個訊息傳送出去,會在一個訊息佇列當中等待,等到對方收到訊息時,訊息接收端會把訊息放到另一個訊息佇列,等待訊息來源方知道已經接收到訊息為止,這種雙向資料通信,就是多一個回覆的訊息佇列。
4.廣播通信:所謂廣播通信,就是允許訊息同時給很多的接受端接收,這類廣播機制,不一定適用於每種類型的訊息佇列裡面,如果沒弄好,有時可能會產生其他工作無法同時收到訊息的狀況發生。
以上為常見的訊息佇列的使用方式,當然還有其他不同的方式,交換訊息的處理方式,大概就介紹到此了!