我创建其中将数据放入其定义如下消息队列线程:C++处理队列溢出
std::deque<struct MessageDetails> MsgQueue;
struct MessageDetails{
char msg[256];
uint64_t Signature;
int32_t Id;
int32_t Mask;
bool Valid;
};
理想情况下,其它模块应该从这个队列并处理它pop
的数据。 但是,对于我的代码中的错误处理,如果其他模块没有处理任何数据(或没有处理得太快),则消息队列大小不断增加,并且可能在某个时间点导致溢出。
我想知道它何时会溢出(分配的大小是多少?)以及如何处理?我能捕捉到什么错误吗?
如果答案解决您的问题,你必须正确标注它。 –