下你所需,载你所想!
汇集开发技术源码资料

环形缓冲区,理论上支持多线程

:342.091KB :1 :2021-11-02 14:18:34

部分简介

易语言环形缓冲区 理论上支持多线程例子。
如果删除了两个字节,则环形缓冲区内部的两个最早加入的值将被删除。
环形缓冲区使用FIFO(先进先出)逻辑。
在示例1和2中,第一个进入“环形缓冲区”则第一个被移除,而将3留在缓冲区中。

环形缓冲区的特性是,在使用环形缓冲区时,不会导致内部数据乱七八糟。
(如果使用了非环形缓冲区,那么在没取一个字节时,就必须对所有字节进行移位。)
换句话说,环形缓冲区非常适合作为FIFO(先进先出)缓冲区,而标准缓冲区则适合用作FIFO(先进先出)缓冲区。非环形缓冲区非常适合用作LIFO(后进先出)缓冲区。

对于具有固定最大大小的队列,使用环形缓冲是一种很好的实现策略。如果队列采用最大大小,则环形缓冲区是完全理想的实现;所有队列操作都是固定时间。但是,扩展循环缓冲区需要转移存储器,这是非常耗时和消耗资源的。对于任意扩展的队列,可以首选使用链表方法。

热门推荐

相关文章