技术文章 > java >  java基础 > 正文

java中DelayQueue入队方法

小妮浅浅

在阻碍队列中,如果要删除元素会考虑优先顺序的问题,但是在DelayQueue中是没有这样困扰的。在元素新增的时候,不会被队列锁阻碍,所以在方法上都相差无几。这里我们就入队说明、过程进行介绍,然后带来两种DelayQueue入队的方法,带来代码方面的分享。

1.入队说明

因为DelayQueue是阻塞队列,且优先级队列是无界的,所以入队不会阻塞不会超时,因此它的四个入队方法是一样的。

2.入队过程

(1)加锁;

(2)添加元素到优先级队列中;

(3)如果添加的元素是堆顶元素,就把leader置为空,并唤醒等待在条件available上的线程;

(4)解锁

3.实例

1add

将指定的元素插入到此队列中,在成功时返回 true

public boolean add(E e) {
        return offer(e);
}

2offer

将指定的元素插入到此队列中,在成功时返回 true,在前面的add 中,内部调用了offer 方法,我们也可以直接调用offer 方法来完成入队操作。

    /**
     * Inserts the specified element into this delay queue. As the queue is
     * unbounded this method will never block.
     *
     * @param e the element to add
     * @param timeout This parameter is ignored as the method never blocks
     * @param unit This parameter is ignored as the method never blocks
     * @return {@code true}
     * @throws NullPointerException {@inheritDoc}
     */
    public boolean offer(E e, long timeout, TimeUnit unit) {
        //调用offer 方法
        return offer(e);
}

以上就是java中DelayQueue入队方法,在对其入队基本知识了解后,就可以在代码部分进行实战练习了,学会了赶快行动起来吧。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 linkedblockingqueue在java中出队
 java中DelayQueue是什么
 java DelayQueue的原理
 DelayQueue解决java中延时提醒
 java中使用DelayQueue进行查询
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
作者信息
推荐视频
视频教程分类