# fifo **Repository Path**: hellsark/fifo ## Basic Information - **Project Name**: fifo - **Description**: 一个普通的单生产者单消费者的无锁队列源码,用于测试内存一致性。 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-06 - **Last Updated**: 2023-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fifo #### 介绍 fifo是一个普通的单生产者和消费者的无锁队列测试DEMO。 #### 源码说明 fifo包含一个.cpp源码文件及一个Makefile文件,fifo本身具备两个线程,一个线程为生产者,会向队列中依次输入 123 三个数字。 另外一个线程为消费者,它会取走生产者生产的数据。 #### 使用说明 1. 获取源码包到本地。 2. 使用鲲鹏代码迁移工具(PortingAdvisor)进行内存一致性检查。 #### 预期结果 1. 未发生内存一致性的情况下,消费者会给参数 r1 r2 r3 变量依次赋值 1,2,3. 2. 发生内存一致性的情况下,r1 r2 r3 三个变量的值将不会被赋值为1,2,3.而是变更为2,1,3后者 3,2,1 等等。