首页 > 学院 > 开发设计 > 正文

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

2019-11-06 06:31:03
字体:
来源:转载
供稿:网友

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


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