java中DelayQueue入队方法

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.入队说明

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

2.入队过程

(1)加锁;

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

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

(4)解锁

3.实例

1add

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

publicbooleanadd(Ee){
returnoffer(e);
}

2offer

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

/**
*Insertsthespecifiedelementintothisdelayqueue.Asthequeueis
*unboundedthismethodwillneverblock.
*
*@parametheelementtoadd
*@paramtimeoutThisparameterisignoredasthemethodneverblocks
*@paramunitThisparameterisignoredasthemethodneverblocks
*@return{@codetrue}
*@throwsNullPointerException{@inheritDoc}
*/
publicbooleanoffer(Ee,longtimeout,TimeUnitunit){
//调用offer方法
returnoffer(e);
}

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容