桌上有一个空盘子,只容许放一个水果。爸爸能够向盘中放苹果,也能够向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时,一次只能放一只水果。
下面是程序的具体实现代码,在写这个程序的时候,有点小问题,纠结了很长时间,因而在csdn论坛上发表帖子终于获得了解决html
先说说涉及到的类的做用,首先Fruits做为一个水果的父类,Apple和Orange是Fruits类的扩展类。CriticalResources类是临界资源类,做为缓冲区用,里面封装了数组大小为一的Fruits数组,能够当作“盘子”;ProducerOrange为生产橘子的类 ProducerApple为生产桔子的类 ConsumerApple(消费苹果的类) ConsumerOrange(消费桔子的类)java
水果类代码以下编程
下面是做为缓冲区盘子的代码数组
下面是生产桔子和消费桔子的代码app
下面是生产苹果核消费苹果的代码ide
客户端代码post
运行结果:ui