吃水果问题是操作系统中典型的进程间通信问题。
桌上有一个空盘,允许存放 20个水果,父母可向盘内随机个数的水果,如果盘子放满了,则等待;孩子等着吃盘内的水果,如果盘子空了,则等着父母放水果。
设计三个基于对话框的进程分别模拟盘子、父母、孩子的行为。可以实现:
(1) 盘子进程动态显示盘子里面的水果数量;
(2) 父母进程中点击开始按钮,每隔 5 秒随机往盘子里面放不大于 10 个水果;并显示真正放入的水果数;
(3) 孩子进程中点击开始按钮,每隔 2 秒随机从盘子里面取不多于 5 个水果;并显示真正取到的水果数量。