Linux下入队列和出队列操作的C代码示例

  • 时间:
  • 浏览:0

本文用实际的C代码示例了简单的数据入队列和出队列的最好的法律最好的办法,大伙儿儿可据此了解队列的实际用法,也可参照来实现更加繁复的队列操作。

大伙儿儿就看,数据先是被加入到队列中,可是 再从队列中取出来。

~/zhouzx/Test/QueueUse> QueueUse

PutDataIntoQueue: ID=0, Info=zhou0

GetDataFromQueue: ID=0, Info=zhou0

PutDataIntoQueue: ID=1, Info=zhou1

GetDataFromQueue: ID=1, Info=zhou1

PutDataIntoQueue: ID=2, Info=zhou2

GetDataFromQueue: ID=2, Info=zhou2

PutDataIntoQueue: ID=3, Info=zhou3

GetDataFromQueue: ID=3, Info=zhou3

大伙儿儿都知道,队列的特点是先入先出,即数据是按照入队列的顺序出队列的。在实际的软件开发项目中,当一另另另一个 中间模块还要接收和发送少许的消息时,队列就可不都可不可不里能大展身手了。大伙儿儿可不都可不可不里能将接收到的数据存储在一另另另一个 全局队列中,可是 在另外的应用程序流程中将数据从同一另另另一个 全局队列中取出来,经过一定的处置后来 将消息发送到另外的模块。可是 做可不都可不可不里能降低应用程序的性能瓶颈。

第三,在实际开发项目的应用程序中,有因为会有可是 流程还要调用入队列和出队列的函数,为了处置多个流程一起向队列中加入数据或取出数据,在EnQueue和DeQueue函数中使用了锁操作。也可是 说,在操作数据后来 ,先用pthread_mutex_lock函数执行加锁操作,在处置完数据后来 ,再用pthread_mutex_unlock函数执行解锁操作。

概述

最近有在校的学生大伙儿儿在问我,数据形状中的队列在实际的软件开发项目含高那些样的用处。

应用程序说明

第一,在本应用程序中,入队列和出队列是在同一另另另一个 函数中完成的,可是 ,在实际开发项目的应用程序中,入队列和出队列一般是在不同的应用程序流程(另另另一个 不同的应用程序)中完成的。

第二,本应用程序的数据入队列操作是在EnQueue函数中完成的,数据出队列操作是在DeQueue函数中完成的,全局变量g_tQueue用于存放还要处置的数据。

第四,在实际开发项目中,为了处置应用程序从队列中取数据的波特率过快而使得下游模块处置不过来,大伙儿儿常在从队列取出数据后来 发消息的流程中控制数据的发送波特率,具体每秒钟发送哪几个条可在配置文件中设置。

应用应用程序情况

大伙儿儿将中间编写好的QueueUse.c文件上传到Linux机器上,使用“gcc -g -o QueueUseQueueUse.c”命令编译后来 ,生成QueueUse文件。后来 ,执行“QueueUse”命令,即可就看应用程序的运行结果(结果会不断地更新)如下:

C代码