队列
ITWUYI
这个作者很懒,什么都没留下…
展开
-
Java实现阻塞队列
Java实现阻塞队列1、生产者向队尾添加元素;2、消费者向队头消费元素;3、添加和消费过程是线程安全的;import java.util.LinkedList;import java.util.Queue;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class MyBlockingQueueLock<T> { .原创 2020-12-25 13:11:38 · 235 阅读 · 1 评论 -
数据结构(2):队列
数据结构之队列知识点1、静态队列(用数组实现)代码实现:public class ArrayQueueDemo { private int arr[]; private int size;//队列的最大容量 private int items;//队列中实际数据的数量 private int front;//头指针 private int rear;//尾指针 public ArrayQueueDemo() { //未设定最大容量时,默认原创 2020-10-20 00:07:29 · 311 阅读 · 1 评论 -
Queue接口
Queue接口知识点1、使用细节Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。因为offer()和poll()可以通过返回值判断成功与否,而add()和remove()方法在失败的时候会抛出异常。 如果只需要使用数据而不移出该元素,使用element()或者peek()方法。2、Queue和LinkedList的关系LinkedList类实现了Queue接口,因此我们可以把LinkedList原创 2020-10-19 16:24:54 · 463 阅读 · 1 评论 -
JAVA 阻塞队列
JAVA 阻塞队列知识点阻塞队列,关键字是阻塞,首先先理解阻塞的含义。在阻塞队列中,线程阻塞有这样的两种情况:当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。当队列中填满数据的情况下,生产者端的所有线程都会被自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。(1)阻塞队列的主要方法抛出异常:抛出一个异常。特殊值:返回一个特殊值(null 或 false,视情况而定)。则塞:在成功操作之前,一直阻塞线程。超时:放弃前只在最大的时间内阻塞原创 2020-10-10 23:36:30 · 95 阅读 · 0 评论