zoukankan      html  css  js  c++  java
  • java

    #阻塞队列各实现类

    说明
    ArrayBlockingQueue 由数组结构组成的有界阻塞队列
    LinkedBlockingQueue 由链表结构组成的有界阻塞队列(默认容量为Integer.MAX_VALUE)
    PriorityBlockingQueue 支持优先级排序的无界阻塞队列
    DelayQueue 使用优先级队列实现的延迟无界阻塞队列
    SynchronousQueue 不存储元素的阻塞队列,也即单个元素的队列
    LinkedTransferQueue 由链表结构组成的无界阻塞队列
    LinkedBlockingQueue 由链表结构组成的双向阻塞队列

    #阻塞队列使用规范

    方法类型 抛出异常 特殊值 阻塞 超时
    插入 add(e) offer(e) put(e) offer(e,time,unit)
    移除 remove() poll() take() poll(time,unit)
    检查 element() peek() 不可用 不可用
    抛出异常 当阻塞队列满时,再往队列里add插入元素会抛IllegalStateException:Queue full
    当阻塞队列空时,再往队列里remove移除元素会抛NoSuchElementException
    特殊值 插入方法,成功true失败false
    移除方法,成功返回队列的元素,队列里面没有就返回null
    一直阻塞 当阻塞队列满时,生产者继续往队列里面 put 元素,队列会一直阻塞,直到put数据或者响应中断退出。
    当阻塞队列空时,消费者试图从队列 take 元素,队列会一直阻塞,消费者线程直到队列可用取出元素。
    超时退出 当阻塞队列满时,队列会阻塞生产者线程一定时间,超过后限时后生产者线程就会退出。
  • 相关阅读:
    汉诺塔
    给出一个字符串,要求插入最少的字符,使得原字符串为一个回文串
    最长回文子串
    回文数 第N个回文数
    屋子里有1到100号100盏关闭的灯
    无头结点的单链表删除一个中间结点
    单链表逆转
    编程之美2.21 加法
    在一个数组中找 差值最大的两个数 差值最小的两个数 推广到 点对
    斐波那契
  • 原文地址:https://www.cnblogs.com/cjunn/p/12232536.html
Copyright © 2011-2022 走看看