课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,java编程开发可以说是许多人选择入门的一种编程开发语言,今天我们就一起来了解一下,java编程开发阻塞队列应该怎么学。
使用场景
消费者生产者模式。
生产者,一直会往队列里扔数据,直到队列满了,开始阻塞,等待消费者取数据。
消费者,一直会从队列里取数据,直到队列空了,开始阻塞,等待生产者扔数据。
插入方法
add:阻塞队列满了,抛出IllegalStateException异常。成功返回true。
offer:插入成功,返回true,插入失败,返回false。
put:阻塞队列满了,就等到,可被中断,抛出InterruptedException异常
移除方法
remove:成功返回true,为空抛出NoSuchElementException异常
poll:如果队列不为空,移除并返回头结点,如果队列为空,返回null
take:如果队列不为空,移除并返回头结点,如果队列为空,则等待,可被中断,抛出InterruptedException异常
检查方法:
element:如果队列不为空,返回头结点但不删除,如果队列为空,抛出NoSuchElementException异常。
peek:如果队列不为空,返回头结点但不删除,如果队列为空,返回null
子类
ArrayBlockingQueue:一个由数组结构组成的有界阻塞队列。
LinkedBlockingQueue:一个由链表结构组成的有界阻塞队列。
PriorityBlockingQueue:一个支持优先级排序的无界阻塞队列。
DelayQueue:一个使用优先级排序实现的无界阻塞队列。
SynchronousQueue:一个不存储元素的阻塞队列。
LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。
LinkedBlockingDeque:一个由链表结构组成的双向阻塞队列。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。