仓库类:包含生产和消费两个方法,并且生产和消费要保证线程同步,还要保证库存空和满,库存空时需要消费先暂停(就绪)等待生产(唤醒)后在消费(在唤醒),库存满时生产先暂停(就绪)等待消费(唤醒)后在生产(唤醒),当库存不满但不空时可以边生产边消费(不需要暂停任何一个)
生产类:传入仓库类,创建生产线程(Runnable)/当然也可以Thread方式
消费类:传入仓库类,创建消费线程(Runnable)
主类:new 仓库类、new 生产类、new 消费类、new 生产线程、new 消费线程、开启生产线程、开启消费线程