生产者消费者模式

时间:2021-02-22 05:18:53
【文件属性】:

文件名称:生产者消费者模式

文件大小:123KB

文件格式:DOC

更新时间:2021-02-22 05:18:53

环形缓冲区

环形缓冲区办法1:始终保持一个元素不用 当空环的时候,R和W重叠。当W比R跑得快,追到距离R还有一个元素间隔的时候,就认为环已经满。当环内元素占用的存储空间较大的时候,这种办法显得很土(浪费空间)。 办法2:维护额外变量 如果不喜欢上述办法,还可以采用额外的变量来解决。比如可以用一个整数记录当前环中已经保存的元素个数(该整数>=0)。当R和W重叠的时候,通过该变量就可以知道是“空”还是“满”。 ◇元素的存储 由于环形缓冲区本身就是要降低存储空间分配的开销,因此缓冲区中元素的类型要选好。尽量存储值类型的数据,而不要存储指针(引用)类型的数据。因为指针类型的数据又会引起存储空间(比如堆内存)的分配和释放,使得环形缓冲区的效果打折扣。


网友评论