From ba47472c5cc726ad323e3e1ee97bb708cbddb04e Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Mon, 20 Jan 2025 21:33:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20LinkedBlockingQueue=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README/Java并发容器使用.md | 28 +++++++++++++++++++ .../java/cn/bunny/atomic/AtomicExample07.java | 13 +++++++++ 2 files changed, 41 insertions(+) diff --git a/README/Java并发容器使用.md b/README/Java并发容器使用.md index 9c9c0aa..727fcc2 100644 --- a/README/Java并发容器使用.md +++ b/README/Java并发容器使用.md @@ -41,4 +41,32 @@ System.out.println(poll1); // 从头部获取数据不会移除,队列为空不会阻塞直接返回null String peek = queue.peek(); System.out.println(peek); +``` + +## PriorityBlockingQueue使用 + +```java +// 无边界队列,可以定义初始容量并不是最大容量 +PriorityBlockingQueue queue = new PriorityBlockingQueue<>(2); +System.out.println(queue); + +// 队列的添加方法都等于offer方法 +queue.offer(1); +queue.offer(10); +queue.offer(3); +System.out.println(queue); +``` + +## LinkedBlockingQueue使用 + +```java +// 属于可选边界 +LinkedBlockingQueue integers = new LinkedBlockingQueue<>(10); +boolean b = integers.remainingCapacity() == 10; +System.out.println(b); + +// 等于定义的 +LinkedBlockingQueue integers1 = new LinkedBlockingQueue<>(); +boolean b1 = integers1.remainingCapacity() == Integer.MAX_VALUE; +System.out.println(b1); ``` \ No newline at end of file diff --git a/multithreading1/src/main/java/cn/bunny/atomic/AtomicExample07.java b/multithreading1/src/main/java/cn/bunny/atomic/AtomicExample07.java index 06862de..c349ecd 100644 --- a/multithreading1/src/main/java/cn/bunny/atomic/AtomicExample07.java +++ b/multithreading1/src/main/java/cn/bunny/atomic/AtomicExample07.java @@ -1,4 +1,17 @@ package cn.bunny.atomic; +import java.util.concurrent.LinkedBlockingQueue; + public class AtomicExample07 { + public static void main(String[] args) { + // 属于可选边界 + LinkedBlockingQueue integers = new LinkedBlockingQueue<>(10); + boolean b = integers.remainingCapacity() == 10; + System.out.println(b); + + // 等于定义的 + LinkedBlockingQueue integers1 = new LinkedBlockingQueue<>(); + boolean b1 = integers1.remainingCapacity() == Integer.MAX_VALUE; + System.out.println(b1); + } }