1、用信號量進行行為同步時,只能提供同步的時刻信息,不能提供內容信息。若被控制方要求得到控制方的內容信息時,可以使用消息郵箱或消息隊列。
2、但由於消息郵箱里只能存放一條消息,所以使用消息郵箱進行任務的同步時,需要滿足一個條件:消息的產生速度總要慢於消息的消費速度,即被控制任務總是在等待消息,否則會導致消息丟失。
3、若遇到出現消息的產生速度可能快於消息的消費速度的情況時,則可以使用比消息郵箱更為強大的消息隊列,由於消息隊列可以存放多條消息,所以消息隊列能夠有效解決消息的臨時堆積問題。但消息隊列的使用仍然需滿足一個條件:消息的平均生產速率比消息的平均消費速率低,否則再長的消息隊列也會溢出。
原文鏈接:https://blog.csdn.net/dop102/article/details/80811189