关于FIFO队列的思考

Posted xiaokangkp0602

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于FIFO队列的思考相关的知识,希望对你有一定的参考价值。

  有时候我们为了不丢失数据,往往开辟一个FIFO缓冲队列。其中需要用2个数A和B来分别记录当前数据应该放入的位置和当前应该取出数据的位置。

  简单的FIFO队列在存储满时,新来的数据直接丢弃。如果想要丢弃最早接收到的数据,则需要做成环形FIFO。

  对于环形的FIFO队列,只要存取的速度相当,处理器能保证缓冲队列中始终有空间去存储新来的数据(如果空间足够,且处理时间允许,可以适当开辟一个大一点的缓冲区域),则环形FIFO不会有问题。但是当处理器处理不过来时,缓冲队列存满后又接收到新的数据,此时保证先入先出的功能不能被破坏,则要特别注意当前应该取出数据的位置。

以上是关于关于FIFO队列的思考的主要内容,如果未能解决你的问题,请参考以下文章

思考总结Linux系统框架进程间通信

关于消息队列的思考

如何用栈实现队列

关于mq的思考

关于Reference与finalize的一点思考和研究

Web 多线程开发利器 Comlink 的剖析与思考