我有一个多线程的进程。其中,每个线程通过消息队列[Linux]相互通信。
有时,发件人发送邮件的速度太快,在邮件队列限制之后,队列已满后发送的所有邮件都会完全丢失。
我一直认为上下文切换会发送到发送到队列中等待/侦听的线程的消息队列。
这是一个调度问题吗?因为,无论发送的消息数量多少,接收方线程都不会获取cpu,直到发送方完成发送所有消息,才会弹出消息。
[环境]:WindRiver Linux 2.6.xx.xx
msgQReceive() //is an API from VxWorks, it is just wrappered to work on linux.
就这么简单。