wait和notify来设计阻塞式队列的流程

wait和notify来设计阻塞式队列的流程

使用wait和notify来设计一个阻塞式的BlockingQuese队列


设计一个集合LinkedList 设计一个计数器,使用AtomicInterge类来做 创建几个用来表示集合的常量,如最大值,最小值,。 在构造函数中给出LinkedList集合的最大值 初始化一个对象用于加锁 使用put()和get()方法来往队列中添加和获取元素 判断队列为最大值时put方法用wait阻塞,不是最大值时add元素并且计数器使用incrementAndGet()来加1,并且使用notify()来唤醒被阻塞的take()方法 判断队列是最小值的时候take()使用wait阻塞,不是最小值时使用removefirst()方法取出元素并且使用decrementAndGet()来让计数器减一,并且使用notify()唤醒put()阻塞的方法。 最后做个测试,一个满对象的队列使用put()添加两个对象,隔两秒钟之后使用take()取两个对象。