LinkedBlockingQueue方法
时间: 2024-05-16 21:19:03 浏览: 142
linkedblockingqueue
LinkedBlockingQueue类提供了多个入队和出队方法,其中包括以下几种常用方法:
- 入队方法:
- add(e):将指定元素插入队列的尾部,如果队列已满则抛出异常。
- offer(e):将指定元素插入队列的尾部,如果队列已满则返回false。
- offer(e, time, unit):将指定元素插入队列的尾部,如果队列已满则阻塞指定时间,超时后返回false。
- put(e):将指定元素插入队列的尾部,如果队列已满则阻塞直到有空间可用。
- 出队方法:
- remove():移除并返回队列的头部元素,如果队列为空则抛出异常。
- poll():移除并返回队列的头部元素,如果队列为空则返回null。
- poll(time, unit):移除并返回队列的头部元素,如果队列为空则阻塞指定时间,超时后返回null。
- take():移除并返回队列的头部元素,如果队列为空则阻塞直到有元素可用。
除了入队和出队方法,LinkedBlockingQueue还提供了获取队首元素的方法:element()和peek()。但需要注意的是,LinkedBlockingQueue不支持直接访问队列中的指定位置的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [多线程基础(六、三)BlockingQueue用法详解之LinkedBlockingQueue](https://blog.csdn.net/m0_47743175/article/details/131151654)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文