以下定义的类Godown用于管理多个线程共享产品库存量数据。类定义了让生产者线程和消费者线程共享的两个操作:生产produce(int pnum)和消费consume(int neednum)。限制生产操作和消费操作不能同时进行,也不能因生产(进库)让库存超过最大库存量maxSize,消费(出库)不能大于当前库存量curnum。为了保证生产和消费操作的完整和正确,这两个操作有互斥和同步要求。以下是管理产品库存量curnum的类Godown的代码,其中消费方法consume()没有在以下代码中列出。
wait();notifyAll()