//阻塞队列 class ArrayBlockingQueue{ int size = 10; Deque queue = new LinkedList(); ReetrantLock lock = new ReetrantLock(); Condition empty = lock.newCondition(), full = lock.newCondition(); Object poll() { lock.lock(); try { while (queue.isEmpty()) { full.await(); } Object res = queue.pollFirst(); empty.signal(); return res; } catch (Exception e) { // } finally { lock.unlock(); } } void offer(Object object) { lock.lock(); try { while (queue.size() == size) { empty.await(); } queue.offer(object); full.signal(); return; } catch (Exception e) { // } finally { lock.unlock(); } } } 阻塞队列的败笔就是,ArrayBlockingQueue我用了LinkedList存储元素
点赞 2

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务