ACE_Message_Queue编码注意问题点

来源:互联网 发布:java游戏破解版下载 编辑:程序博客网 时间:2024/06/05 10:18

一,高低水位标

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。

0 0
原创粉丝点击