精选优质文档- 倾情为你奉上 专心-专注-专业 目录精选优质文档- 倾情为你奉上 专心-专注-专业 1 题目内容及要求 1.1 题目名称 进程同步模拟设计:吃水果问题 1.2 题目描述 桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个 水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,两个儿子专门 等待吃盘子中的橘子,两个女儿专门等吃盘子中的苹果。 1.3 解题思路 将问题转换为信号量上的资源分配类型问题: 这是进程同步问题的模拟,可以把向盘子放或取水果的每一个过程可以 转为一个进程的操作,这些进程是互斥的,同时也存在一定的同步关系。通 过编程实践时,实际是随机的调用人一个进程的操作,而这些进程的操作相 当于程序中的函数调用。而计算机在执行时每一个时刻只能执行一个操作, 这就默认了互斥。同步的模拟可以类似于函数调用时的前提关系即先决条件。 这样进程同步模拟就完全可以通过函数的调用来实现。 具体的每一个操作的对应的函数的关系: 爸爸向盘子中放一个苹果:Father() 妈妈向盘子中放一个橘子:Mother() 儿子1从盘子取一个橘子:Son1() 儿子2从盘子取一个橘子