阻塞队列与普通队列

本文介绍了Java中的队列,重点讲述了阻塞队列与普通队列的区别,如阻塞队列在取元素和插入元素时的行为。阻塞队列在多线程环境下能安全使用,支持生产者与消费者的等待,当队列满或空时,线程会自动阻塞。此外,还提到了阻塞队列在等待时采用的是Lock锁而非线程wait。
摘要由CSDN通过智能技术生成

Java队列:

掌握 Java 队列相关知识

在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能非阻塞队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪一种都继承了Queue。

只要是队列就遵循先进先出,后进后出原则。

  1. ArrayDeque 数组双端队列
  2. PriorityQueue 优先级队列
  3. ConcurrentLinkedQueue 基于链表的并发队列
  4. DelayQueue 延期阻塞队列
  5. ArrayBlockingQueue 基于数组的并发阻塞队列
  6. LinkedBlockingQueue 基于链表的FIFO阻塞队列
  7. LinkedBlockingDeque 基于链表的FIFOs双端阻塞队列
  8. PriorityBlockingQueue 带优先级的无界阻塞队列
  9. SynchronousQueue 并发同步阻塞队列
    字典
    FIFO :先进先出
    LIFO :后进先出

阻塞队列是与普通队列的区别:

阻塞队列是与普通队列的区别有两点:
1、取出元素:
阻塞队列:阻塞队列获取元素时,若队列为空,则会等待队列有元素,不然就阻塞队列。
普通队列:普通队列返回结果,无元素。
2、插入元素:
阻塞队列:阻塞队列放入元素时,若是队列满,则等待队列࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廷赫斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值