阻塞队列

阻塞队列
BlockingQueue除了队列的基本特性外,还支持额外的操作:当获取元素时,如果队列已空,则阻塞直到队列非空。当添加元素时,如果队列已满,则阻塞直到队列有空闲空间。
BlockingQueue的方法有4种形式,对于不能立即被满足,但可能会在未来的某个时刻被满足的操作,它们各自有不同的处理方式:
第一种是抛出异常。
第二种是返回特殊值(null或者false,取决于操作)
第三种是一直阻塞当前线程直到操作成功
第四种是阻塞直到超时退出。
这些方法汇总如下:

BlockingQueue不接受null元素。如果尝试add, put or offer 一个null元素,则会抛出NullPointerException。null被用作表明poll操作失败的警示值。
BlockingQueue可以限定容量。在任何指定时刻它都可能有一个剩余容量,但超出了这个容量,没有任何元素可以不阻塞而put进这些剩余容量中。没有容量限制的阻塞队列总是
XXXXX

 

ArrayBlockingQueue
ArrayBlockingQueue是一个由数组实现的有界队列。队列中的元素遵循FIFO顺序。队列的头部元素在队列中存在时间最长,尾部元素存在时间最短。新元素插入到队列尾部,获取元素的操作在队列的头部进行。
这是一个典型的”有界缓存区”,固定大小的数组保存着元素,这些元素被生产者插入,并由消费者取出。队列一旦创建,容量将不能修改。向已满的队列中插入元素时将会导致阻塞,向已空的队列中回去元素也同样会阻塞。
这个类支持对等待的消费者和生产者线程进行排序的可选的公平策略。默认情况是保证这种排序的。然而,创建队列时通过将公平性设置为true,会保证线程以FIFO的顺序访问。公平性通常会降低吞吐量,但也减少了可变性和避免了不平衡性。

转载于:https://www.cnblogs.com/rouqinglangzi/p/10292209.html

资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值