- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《物联网工程领域应用综合实训》实验报告
实验八Linux多线程实验
报告撰写人
专业班级学号姓名完成时间
。。。。。。。。。。。
一、实验目的
1、了解什么是多线程,熟悉LINUX的多线程机制;
2、掌握利用信号处理Linux多线程的同步问题;
3、掌握利用信号量处理Linux多线程的互斥问题;
4、运用Linux多线程的同步机制和互斥机制实现生产者消费者的编程。
二、实验内容
1.“生产者-消费者”问题如下:有一个有限缓冲区和两个线程:生产者和消费者。他们分别不停地把产品放入缓冲区、从缓冲区中
拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也必须等待。另外,因为缓冲区是临界资源,所
以生产者和消费者之间必须互斥执行。它们之间的关系如图1所示。现在要求使用共享内存来模拟有限缓冲区,并且使用信号量来
解决“生产者-消费者”问题中的同步和互斥问题。
生产者11234N消费者
1生产者和消费者问题描述
2.问题描述:假设有五位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候,他们就停止思考,思考的时候也停止
吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只餐叉。因为用一只餐叉很难吃到意大利面,所以假设哲学家必须用两只餐叉吃东西。他们
只能使用自己左右手边的那两只餐叉。请用Linux线程编程解决。
1/18
《物联网工程领域应用综合实训》实验报告
2哲学家进餐问题示意图
三、实验过程与结果
操作过程错误解决方法
步骤一:在不同的
编写producer_customer.c的文件编译器中
for循环
的用法不
太一样,
在这里最
好不要使
实用for
验
文档评论(0)