生产者-消费者问题(Producer-ConsumerProblem)
14页1、目录目录 1 用多线程同步方法解决生产者消费者问题 3 1. 设计题目与要求 3 1.1 设计题目 3 1.2 设计要求 3 2.设计思想及系统平台 3 2.1 设计思想 3 2.2 系统平台及使用语言 4 3.数据结构与模块说明 4 4.源程序清单 6 5.运行结果与运行情况 12 6.调试过程 13 7.总结 13 本科生课程设计成绩评定表 14 操作系统课程设计说明书2 课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目: 用多线程同步方法解决生产者消费者问题 (Producer-Consumer Problem)初始条件:1操作系统: Linux 2程序设计语言: C语言 3有界缓冲区内设有20 个存储单元,其初值为0。放入取出的数据项按增序设定 为 120 这 20个整型数。要求完成的主要任务 :(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1技术要求: 1)为每个生产者消费者产生一个线程,设计正确的同步算法 2)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的当前 全部内容、当前指针位置和生产者消费者线程的自定义标识符
2、。 3)生产者和消费者各有两个以上。 4)多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。2 设计说明书内容要求:1)设计题目与要求2)总的设计思想及系统平台、语言、工具等。3)数据结构与模块说明(功能与流程图)4)给出用户名、源程序名、目标程序名和源程序及其运行结果。(要注明存储各个程序及其运行结果的主机IP 地址和目录。)5)运行结果与运行情况 (提示 : (1)有界缓冲区可用数组实现。 (2)编译命令可用:cc -lpthread -o 目标文件名源文件名 (3)多线程编程方法参见附件。 )3. 调试报告: 1)调试记录 2)自我评析和总结 上机时间安排: 18周一 五 08:0 12:00 指导教师签名:年月日系主任(或责任教师)签名:年月日操作系统课程设计说明书3 用多线程同步方法解决生产者消费者问题1.设计题目与要求1.1 设计题目用多线程同步方法解决生产者消费者问题(Bounded - Buffer Problem)1.2 设计要求1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前指针位置和生产者消费者线程的标识符。2)生产者和消
3、费者各有两个以上。3)多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。2.设计思想及系统平台2.1 设计思想为实现 product与 consumer线程间在生产或消费时的互斥设置一个互斥量counter_mutex。另外,添加两个信号量blank_number,和 product_number。 由于只有一个 product 或 coustomer对临界资源进行操作。因此, 需要加互斥 pthread_mutex_lock( 生产者线程:在运行之前先要检查是否有空的Buffer, 所以要 sem_wait(当 blank_number不为 0 时进行生产操作填入一个随机数之后给product_number加 1。消费者线程:在运行之前先要检查BUFFER 是否有值,所以 sem_wait(当 product_number不为 0 时进行消费操作将消费者指针所指向的数据指向为0。操作系统课程设计说明书4 2.2 系统平台及使用语言1)操作系统: Linux 2)程序设计语言: C 语言 3)编译器: GCC 3.数据结构与模块说明共享数据:#define NUM 20 in
4、t queueNUM; int p = 0,c = 0;/记录动态数组下标位置sem_t blank_number, product_number; pthread_mutex_t counter_mutex = PTHREAD_MUTEX_INITIALIZER; 生产者线程入口函数:void *producer_thread_fun( unsigned int *arg) int realarg= (int)arg;/强制类型转换参数producer(realarg); return NULL; 生产者线程处理函数:void *producer(const int i) while(1) sem_wait( pthread_mutex_lock( sleep(2); queuep=p+1; pthread_mutex_unlock( 操作系统课程设计说明书5 sem_post( sleep(rand() % 5);/Random block 0-4 seconds return NULL; 生产者线程的函数流程图如下:消费者线程入口函数:void *consumer_thread_
《生产者-消费者问题(Producer-ConsumerProblem)》由会员飞***分享,可在线阅读,更多相关《生产者-消费者问题(Producer-ConsumerProblem)》请在金锄头文库上搜索。
人教版一年级下册数学第二单元20以内的退位减法测试卷精品【考试直接用】
人教版一年级下册数学第二单元20以内的退位减法测试卷(实用)word版
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案(夺冠)
人教版一年级下册数学第二单元20以内的退位减法测试卷(典型题)
人教版一年级下册数学第二单元20以内的退位减法测试卷精品(a卷)
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案【精品】
部编版二年级上册道德与法治期中测试卷 (考试直接用)
部编版二年级上册道德与法治期中测试卷 带答案(培优)
部编版二年级上册道德与法治期中测试卷 含答案(精练)
部编版二年级上册道德与法治期中测试卷 及答案【各地真题】
部编版二年级上册道德与法治期中测试卷 及完整答案【名校卷 】
部编版二年级上册道德与法治期中测试卷 【考点精练】
部编版三年级上册道德与法治期末测试卷 (重点)
部编版三年级上册道德与法治期末测试卷 (模拟题)word版
部编版三年级上册道德与法治期末测试卷 附答案(预热题)
部编版三年级上册道德与法治期末测试卷 附参考答案(b卷 )
部编版三年级上册道德与法治期末测试卷 答案下载
部编版三年级上册道德与法治期末测试卷 含答案【夺分金卷 】
部编版三年级上册道德与法治期末测试卷 含完整答案【网校专用】
部编版三年级上册道德与法治期末测试卷 及答案(最新)
2024-04-24 8页
2024-04-24 1页
2024-04-24 1页
2024-04-24 1页
2024-04-24 3页
2024-04-24 8页
2024-04-24 5页
2024-04-23 12页
2024-04-23 5页
2024-04-23 4页