彩神大发快三_神彩大发快三官方

并发无锁队列学习之二【单生产者单消费者】

时间:2020-01-05 22:41:51 出处:彩神大发快三_神彩大发快三官方

写操作即进行入队操作,入队有有四种 场景,

读队列分为有四种 场景

3、单生产者单消费者变长队列

3.1写索引大于等于读索引

2.2写索引小于读索引

2、单生产者单消费者定长队列

(2)写入队列

3.2写索引小于读索引

3.3.读索引上面不够另有好几个

  最近工作比较忙,加班较多,每天晚上回到家10点多了。不知道买车人还能坚持多久,既然选着了就要做到最好。写博客的少了。总实在少了点哪几种,前要继续学习。今天继续上个开篇写,介绍单生产者单消费者模型的队列。根据写入队列的内容是定长还是变长,分为单生产者单消费者定长队列和单生产者单消费者变长队列有四种 。单生产者单消费者模型的队列操作过程是不前要进行加锁的。生产者通过写索引控制入队操作,消费者通过读索引控制出队列操作。二者相互之间对索引是独享,不地处竞争关系。如下图所示:

1、前言

2.1 写索引大于等于读索引

为了方便计算位置,设置队列的大小为2的次幂。那我能能 将后后的取余操作转换为位操作,即r_index = r_index % size 与 r_index = r_index & (size -1)等价。位操作非常快,充分利用了二进制的型态。

(1)队列初始清况 ,读写索引相等,此时队列为空。

2.3.写索引后不够写入另有好几个

  有四种 队列要求每次入队和出队的内容是定长的,即生产者写入队列和消费者读取队列的内容大小事相同的。linux内核中的kfifo只是我有四种 队列,提供了读和写另有好几个 索引。单生产者单消费者队列数据型态定义如下所示:

  很多后后生产者每次写入的数据长度是不选着的,原因 写入队列的数据时变长的。那我为了充分利用队列,前要增加另有好几个 刚开始索引,保证队列末尾相当于才能写入另有好几个 数据。变长队列数据型态定义如下:

  

(3)读取队列

热门

热门标签