一,高低水位标
high water mark
low water mark
注意不能把 low water mark 设置得过小,原因是
enqueue时 not_empty_cond_.signal(),dequeue时如果已经低于了low water mark时才会 not_full_cond_.signal()。
意思就是dequeue时,如果处于 [low water mark,high water mark]之间,阻塞的enqueue.wait()不会得到继续收消息的信号,只有小于以后才会继续接收消息。
is_full()是根据当前是否大于等于high water mark来判断,如果full会wait。
本文深入探讨了在消息队列中,highwatermark和lowwatermark的概念及其在enqueue和dequeue操作中的应用。通过实例解释了如何设置和调整这些参数,确保消息队列的高效运行和资源优化。
6630

被折叠的 条评论
为什么被折叠?



