linux环境下pv吃水果问题c语言,用pv操作实现 吃水果问题(C++语言)

这是一个使用PV操作解决的并发编程问题。父亲和母亲分别向盘子中放入苹果和桔子,儿子和女儿等待并吃掉相应水果。通过信号量实现同步和互斥,确保正确执行。
摘要由CSDN通过智能技术生成

/**

作者:wwj

时间:2012/4/12

功能:实现吃水果问题

**题目内容:桌子有一只盘子,只允许放一个水果,父亲专向盘子放苹果,母亲专向盘子放桔子

儿子专等吃盘子的桔子,女儿专等吃盘子的苹果。只要盘子为空,父亲或母亲就可以向盘子放水果,

仅当盘子有自己需要的水果时,儿子和女儿可从盘子取出。请给出四个人之间的同步关系,并用

pv操作实现四个人的正确活动的问题。**

**题目分析:父亲和女儿是相互制约的,父亲进程执行完即往盘中放入苹果后,女儿进程才能执行即吃苹果,是同步关系;

母亲和儿子是相互制约的,母亲进程执行完即往盘中放入桔子,儿子进程才能执行即吃桔子,也是同步关系

而父亲和母亲这两个进程不能同时进行,是互斥关系;**

**/

#include

#include

using namespace std;

//声明句柄

HANDLE EmptyPlate;

HANDLE Apple;

HANDLE orange;

HANDLE fatherThread;

HANDLE motherThread;

HANDLE sonThread;

HANDLE daughterThread;

//线程函数声明

DWORD WINAPI father(LPVOID IpParameter);

DWORD WINAPI mother(LPVOID IpParamet

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值