码上敲享录 > java高并发常见问题 > 什么是阻塞队列?秒懂

什么是阻塞队列?秒懂

上一章章节目录下一章 2018-08-24已有3038人阅读 评论(0)

什么是阻塞队列,秒懂?


解决方法:

阻塞队列BlockingQueue,相当我们经常接触的List,但如果BlockQueue是空的,这时如果有线程要从这个BlockingQueue取元素的时候将会被阻塞进入等待状态,直到别的线程在BlockingQueue中添加进了元素,被阻塞的线程才会被唤醒。同样,如果BlockingQueue是满的,试图往队列中存放元素的线程也会被阻塞进入等待状态,直到BlockingQueue里的元素被别的线程拿走才会被唤醒继续操作。


常用的阻塞队列:

ArrayBlockingQueue提供一种有界阻塞队列

PriorityBlockingQueue支持在并发情况下的优先级队列

LinkedBlockingQueue是无界的阻塞队列

LinkedBlockingDeque类提供对双端结点的操作

SynchronousQueue为异步队列

DelayQueue提供一种延时执行任务的队列

LinkedTransferQueue提供的功能与SynchronousQueue有些类似,但其具有可以尝试性地添加一些数据


本文链接:http://www.yayihouse.com/yayishuwu/chapter/1531


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交