linkedblockingdeque的阻塞方法
LinkedBlockingDeque类是urrent包下的一个阻塞双向队列,它提供了以下阻塞方法:
1. putFirst(E e):将元素e放入队列的开头,如果队列已满,则阻塞等待直到队列有空闲位置。
2. putLast(E e):将元素e放入队列的末尾,如果队列已满,则阻塞等待直到队列有空闲位置。
3. takeFirst():移除并返回队列开头的元素,如果队列为空,则阻塞等待直到队列有元素可取。
4. takeLast():移除并返回队列末尾的元素,如果队列为空,则阻塞等待直到队列有元素可取。
5. offerFirst(E e, long timeout, TimeUnit unit):将元素e放入队列的开头,如果队列已满,则等待指定的时间,如果在指定时间内队列有空闲位置,则放入成功返回true,否则返回false。
6. offerLast(E e, long timeout, TimeUnit unit):将元素e放入队列的末尾,如果队列已满,则等
待指定的时间,如果在指定时间内队列有空闲位置,则放入成功返回true,否则返回false。
7. pollFirst(long timeout, TimeUnit unit):移除并返回队列开头的元素,如果队列为空,则等待指定的时间,如果在指定时间内队列有元素可取,则取出成功返回该元素,否则返回null。
8. pollLast(long timeout, TimeUnit unit):移除并返回队列末尾的元素,如果队列为空,则等待指定的时间,如果在指定时间内队列有元素可取,则取出成功返回该元素,否则返回null。
block truncated以上方法都是阻塞的,在特定条件下会等待或等待一段时间,直到满足条件后才继续执行。这些方法使得LinkedBlockingDeque更适用于多线程环境下的数据交换和共享。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论