多线程-队列:构造队列 完成入队列和出队列的函数

问题描述

队列:构造队列 完成入队列和出队列的函数

用C++实现
(队列支持多线程:一个线程做入队列操作而另一个做出队列操作,两队列同时进行)
队列中存放int数据 类名MyQueue
///把key追加到队列中 void MyQueue::Push(int key)
///从队列中获取一个值///成功返回true 失败false bool MyQueue::pop(int& key)
///获取当前队列大小(队列中包含有效数据个数)int MyQueue::GetSize()

求大神指导下这道题的思路 要想完成这道题需要看哪些资料?

解决方案

http://wenku.baidu.com/link?url=oRk944DskU0po43Lb02viFF062ptGeHI6JhiUHy363Z06Ma6jwsCjXiyb0C7C9hL8rThaRlGDFAmqoiIpTTbifrNj-xY42gAsezlOb3M_lq

http://www.xuebuyuan.com/2155127.html

http://blog.csdn.net/garfier/article/details/8168991

解决方案二:

http://itlab.idcquan.com/c/example/898191.html

http://blog.csdn.net/mayixixi/article/details/6065309

http://www.cnblogs.com/zhuyp1015/archive/2012/04/08/2438291.html

解决方案三:

http://blog.csdn.net/happycock/article/details/20856

解决方案四:

如果是求代码就算了。
STD有队列,你只要做好线程同步即可。

如果要自己实现队列,想清楚需要几个指针,实例化对象时如何保证各线程使用同一个实例的问题。单例模式。

解决方案五:

直接用std::queue

时间: 2024-10-18 15:51:38

多线程-队列:构造队列 完成入队列和出队列的函数的相关文章

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

概述 最近有在校的学生朋友在问我,数据结构中的队列在实际的软件开发项目中有什么样的用处. 大家都知道,队列的特点是先入先出,即数据是按照入队列的顺序出队列的.在实际的软件开发项目中,当一个中间模块需要接收和发送大量的消息时,队列就可以大展身手了.我们可以将接收到的数据存储在一个全局队列中,然后在另外的程序流程中将数据从同一个全局队列中取出来,经过一定的处理之后将消息发送到另外的模块.这样做可以降低程序的性能瓶颈. 本文用实际的C代码示例了简单的数据入队列和出队列的方法,大家可据此了解队列的实际用

软件开发实践中的入队列和出队列操作的C代码示例

概述 最近有在校的学生朋友在问我,数据结构中的队列在实际的软件开发项目中有什么样的用处. 大家都知道,队列的特点是先入先出,即数据是按照入队列的顺序出队列的.在实际的软件开发项目中,当一个中间模块需要接收和发送大量的消息时,队列就可以大展身手了.我们可以将接收到的数据存储在一个全局队列中,然后在另外的程序流程中将数据从同一个全局队列中取出来,经过一定的处理之后将消息发送到另外的模块.这样做可以降低程序的性能瓶颈. 本文用实际的C代码示例了简单的数据入队列和出队列的方法,大家可据此了解队列的实际用

数据结构-c语言这个队列写的不对吗,为什么出队的元素都为0,是入队写错了,还是出队的错了?

问题描述 c语言这个队列写的不对吗,为什么出队的元素都为0,是入队写错了,还是出队的错了? #include #include typedef int QElemType; typedef int Status; typedef struct QNode { QElemType data; struct QNode *next; }QNode,*QueuePtr; typedef struct { QueuePtr front; QueuePtr rear; }LinkQueue; Status

大话数据结构九:队列的链式存储结构(链队列)

1. 链队列的特点: 链队列其实就是单链表,只不过它是先进先出的单链表,为了实现方便,程序中设置了队头(front),队尾(rear)两个指针. 2. Java使用链表实现队列: //结点类,包含结点的数据和指向下一个节点的引用 public class Node<E> { private E data; // 数据域 private Node<E> next; // 指针域保存着下一节点的引用 public Node() { } public Node(E data) { thi

线程-linux下消息队列, 如何在满足某种条件下将队列清空?

问题描述 linux下消息队列, 如何在满足某种条件下将队列清空? 操作系统课上一个作业, 要求是用消息队列来实现某些功能 已知消息队列的特性 : 可以多个进程接受相同消息, 可知队列中的消息是不会消失的 目前所想的是用3个进程, 每个进程都有2个线程 1: 将消息发送到消息队列, 用while(1)不断等待读入 2: 从消息队列中接收消息, 用while(1)不断读取消息队列 如此类似一个群聊的功能 问题是 : 当某个进程送入消息, 3个进程都读取完毕后, 如何将队列中的消息清空? 而不是持续

请问ibm mq中如何在多个队列中列出深度不为0的队列

问题描述 请问ibmmq如何在多个队列中列出深度不为0的队列. 解决方案 解决方案二:写一个Shell可以实现.解决方案三:echo'displayql(*)CURDEPTHWHERE(CURDEPTHNE0)'|runmqsc[QMNAME]解决方案四:引用2楼huanganpeng的回复: echo'displayql(*)CURDEPTHWHERE(CURDEPTHNE0)'|runmqsc[QMNAME] 用mqm用户执行就可以了

数据结构实践——负数把正数赶出队列

本文是针对数据结构基础系列网络课程(3):栈和队列的实践项目. [项目 - 负数把正数赶出队列] 设从键盘输入一整数序列a1,a2,-an,试编程实现:当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束.要求将队列处理成环形队列,使用算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接写在main函数中即可.当进队出队异常(如队满)时,要打印出错信息. [参考解答] 说明--使用本文所用的环形队列的算法库(sqqueue.h),

STL队列 之FIFO队列(queue)、优先队列(priority_queue)、双端队列(deque)

1.FIFO队列     std::queue就是普通意思上的FIFO队列在STL中的模版. 1.1主要的方法有: (1)T front():访问队列的对头元素,并不删除对头元素 (2)T back():访问队列的末尾元素,并不删除末尾元素 (3)void pop():删除对头元素. (4)void push(T):元素入队 1.2代码实例 1 #include <iostream> 2 #include <queue> 3 using namespace std; 4 int m

C# WinForm下一步一步实现文件的拖入和拖出

在WinForm实现一个类似资源浏览器的功能,需要实现将WinForm中列出的文件拖出到其他应用程序中或者从其他应用程序中将文件拖入到Winform应用中.网上有一些文章介绍这种功能,但都比较零散,缺少一个完整的例子.为此我编写了一个较完整的实现文件拖入和拖出的例子,并撰写此文一步步讲解如果实现类似功能. 步骤1 放置一个 ListView 到 Winform窗体中 并初始化如下属性: listView.View = View.Details; listView.AllowDrop = true