您好、欢迎来到现金彩票网!
当前位置:9号彩票app下载 > 工作队列 >

CC++线程安全型队列的实现

发布时间:2019-07-01 17:09 来源:未知 编辑:admin

  编写一个线程安全的队列,所谓线程安全,就是该队列能够实现多个线程同时正确的增删改队列结点,也就是能够实现对队列这个临界资源的保护。需要实现的函数包括:(1)InitQueue函数:...

  编写一个线程安全的队列,所谓线程安全,就是该队列能够实现多个线程同时正确的增删改队列结点,也就是能够实现对队列这个临界资源的保护。需要实现的函数包括:

  (1) InitQueue函数:初始化一个空的队列,并初始化各个用于保护队列的信号量。

  (5) Find函数:查找队列中是否有指定的元素,若有,返回能够访问该结点的指针;若无,返回NULL。

  完成该队列后,自己编写一个测试程序,生成多个线程同时读写该队列,验证你的队列执行是否正确。

  我基本不会,所以请具体给出代码(可以把代码发我邮箱),简单的介绍我不会采纳,我会先测试,无错的话可以追加悬赏分。

  注:我不是要用RMB买设计,我只是到网上寻求帮助,卖设计的人请绕道,谢谢。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部首先,互斥量这种线程相关的内容是平台相关的,我假设你用的是windows平台开发。

  ===你需要的节点数据可能不是整数,只要将typedef int QUEUEDATA这一句的int换成你想要的类型即可,但要注意,这个类型必须实现赋值操作符重载,相等比较操作符重载,以及复制构造函数===

  ===测试代码文件main.cpp,包含了测试用可执行程序,两个操作queue的线程,需要说明的是,我本来打算用WaitMultipleObjects函数来等待两个线程都结束,但是没搞清楚是什么问题没有卡住,不打算继续纠缠它了,所以让主线秒钟===

  新建一个空的控制台程序工程,向工程中加入这几个文件,编译之后可以直接运行。

  第一个线个元素,第二个线程同样。最后主线程输出队列中最后的内容,然后清空。

  大哥,头文件也拜托写一下吧。追答我的第一个文件就是QueueNode.h,请看清楚

  展开全部发你邮箱里了追问大哥,你给的2个,其中第一个都很多error,另外一个你给的模版好像可以,不过我的库函数似乎少一个文件,他报了一个错误是fatal error C1083: Cannot open include file: pthread.h: No such file or directory。先谢谢你。你能告诉我你的QQ吗?有些问题请帮我改一下,我想把我们老师给我们的代码给你看一下,你用的Synchronized类我们应该没学,这个我不好给老师解释。

http://dralvaro.com/gongzuoduilie/616.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有