好文档 - 专业文书写作范文服务资料分享网站

linux多线程实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

实验八 Linux多线程实验

报告撰写人

学号 姓名 。。。。 。

专业班级

。。。 完成时间

。。。

一、 实验目的

1、 了解什么是多线程,熟悉LINUX的多线程机制;

2、 掌握利用信号处理Linux多线程的同步问题; 3、 掌握利用信号量处理Linux多线程的互斥问题;

4、 运用Linux多线程的同步机制和互斥机制实现生产者消费者的编程。

二、 实验内容

1. “生产者-消费者”问题如下:有一个有限缓冲区和两个线程:生产者和消费者。他们分别不停地把产品放入缓冲区、从缓冲区中拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也必须等待。另外,因为缓冲区是临界资源,所以生产者和消费者之间必须互斥执行。它们之间的关系如图1所示。现在要求使用共享内存来模拟有限缓冲区,并且使用信号量来解决“生产者-消费者”问题中的同步和互斥问题。

生产者11234N消费者1 生产者和消费者问题描述

2. 问题描述:假设有五位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候,他们就停止思考,思考的时候也停止吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只餐叉。因为用一只餐叉很难吃到意大利面,所以假设哲学家必须用两只餐叉吃东西。他们只能使用自己左右手边的那两只餐叉。请用Linux线程编程解决。

1

2 哲学家进餐问题示意图

三、 实验过程与结果

操作过程

实步骤一: 编写的文件

错误

解决方法 在不同的编译

2

1

器中for循环的用法不太一样,在这里最好不要使用for(int i=0; ;)

最好在外声明int i在for循环里直接写i=0

步骤二:

编译代码并且运行代码

步骤三:

运行完毕后,显示以下代码:

生产者消费者先后生产数据以及取出数据,此程序中设置了两个消费者两个生产者,交替进行生产数据消费数据。

3

linux多线程实验报告

实验八Linux多线程实验报告撰写人学号姓名。。。。。专业班级。。。完成时间。。。一、实验目的1、了解什么是多线程,熟悉LINUX的多线程机制;2、掌握利用信号处理Linux多线程的同步问题;3、掌握利用信号量处理
推荐度:
点击下载文档文档为doc格式
8shr67z3wd1j03v4iv5u208bi780fr00a9a
领取福利

微信扫码领取福利

微信扫码分享