操作系统课程设计-Windows 线程的互斥和同步

目录

 前言

1 实验题目

2 实验目的

3 实验内容

3.1 步骤

3.2 关键代码

3.2.1 创建生产者和消费者进程

3.2.2 生产者和消费者进程

4 实验结果与分析

5 代码


 前言

         本实验为课设内容,博客内容为部分报告内容,仅为大家提供参考,请勿直接抄袭,另外,本次实验所用平台是dev c++5.11

1 实验题目

        实验四 Windows线程的互斥和同步

2 实验目的

        (1) 回顾操作系统进程、线程的有关概念,加深对 Windows 线程的理解。
        (2) 了解互斥体对象,利用互斥与同步操作编写生产者-消费者问题的并发程序,加深对 P (即semWait)、V(即 semSignal)原语以及利用 P、V 原语进行进程间同步与互斥操作的理解。

3 实验内容

3.1 步骤

        (1)步骤1:打开Dev-C++5.11 新建一个文件,命名为实验4,并保存为cpp文件。

        (2)步骤2:将清单5-1的源代码复制到实验4.cpp文件中,并点击编译按钮将其编译成可执行文件,再进入到保存文件的目录下,右键,选择在终端打开,运行编译好的可执行文件,观察运行结果。

        (3)步骤3:阅读源程序,找出创建线程的WindowsAPI函数,及其执行的第一个函数。

        (4)步骤4:调整生产者和消费者线程的数量,观察运行结果。

        (5)步骤5:按清单5-1代码中的注释修改内容,观察运行结果。

        (6)步骤 6:根据步骤 4 的结果,并查看 MSDN,回答下列问题:

                1)CreateMutex 中有几个参数,各代表什么含义。

                2)CreateSemaphore 中有几个参数,各代表什么含义,信号量的初值在第几个参数中。

                3)程序中 P、V 原语所对应的实际 Windows API 函数是什么,写出这几条语句。

               4)CreateMutex 能用 CreateSemaphore 替代吗?尝试修改程序 5-1,将信号量 Mutex 完全用 CreateSemaphore 及相关函数实现。写出要修改的语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值