桌上有一空盘,最多允许存放一只水果。爸爸只向盘中放一个苹果,妈妈只向盘中放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。用wait、signal操作实现爸爸、妈妈、儿子、女儿四个并发进程的同步。
分析设计四个信号量metux,empty、apple、orange;metux表示:爸爸、妈妈、儿子和女儿进程对盘子的互斥使用;empty表示:盘子是否为空;apple表示:是否可以取苹果;orange表示:是否可以取桔子。算法描述如下:semaphore empty=1,nutex=1,apple=0,orange=0; //为四个信号量赋初值void father(){ do{...
原创
2018-03-31 10:46:26 ·
37819 阅读 ·
11 评论