自己写了一个缓冲类,有一个ACE_Message_Queue<ACE_MT_SYNCH>类型的成员,在一个线程enqueue另一个线程dequeue(阻塞调用),现在的问题是,当enqueue成功返回后,dequeue操作有时候仍然会被阻塞,工作不是很稳定,在文档中ACE_Message_Queue的部分找到关于notify()方法的说明:In a multi-threaded application with concurrent consumers, there is no guarantee that the queue will be still be non-empty by the time the notification occurs.
请教这个问题怎么解决比较好呢?
最新回复
其实ACE_Task有足够了,一般不用自己写。
是的,有的场合需要有两个message queue, 此时ACE_Task就不够用了,需要再声明一个message queue成员变量