From 545ded2765b2f1f831dd99914b184e0b4c801bfe Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Wed, 17 Jul 2024 00:54:40 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20ws=E6=96=AD=E7=BA=BF=E9=87=8D?= =?UTF-8?q?=E8=BF=9E=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- im-uniapp/App.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/im-uniapp/App.vue b/im-uniapp/App.vue index 549bf4e..bd7e7d9 100644 --- a/im-uniapp/App.vue +++ b/im-uniapp/App.vue @@ -268,7 +268,7 @@ }, exit() { console.log("exit"); - wsApi.close(1000); + wsApi.close(3099); uni.removeStorageSync("loginInfo"); uni.reLaunch({ url: "/pages/login/login" From 31286006121f46a0cd0b269aafe30ff6b7109f7e Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Mon, 22 Jul 2024 18:22:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E9=AB=98=E6=A0=B8=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E4=BC=9A=E5=87=BA=E7=8E=B0=E6=A0=B8=E5=BF=83=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=95=B0=E9=87=8F=E4=BC=9A=E5=A4=A7=E4=BA=8E=E9=9D=9E?= =?UTF-8?q?=E6=A0=B8=E5=BF=83=E7=BA=BF=E7=A8=8B=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/ThreadPoolExecutorFactory.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java b/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java index d07e0f4..503fb4d 100644 --- a/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java +++ b/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java @@ -8,6 +8,7 @@ import java.util.concurrent.TimeUnit; /** * 创建单例线程池 + * * @author Andrews * @date 2023/11/30 11:12 */ @@ -19,7 +20,8 @@ public final class ThreadPoolExecutorFactory { * CPU 密集型:核心线程数 = CPU核数 + 1 * IO 密集型:核心线程数 = CPU核数 * 2 */ - private static final int CORE_POOL_SIZE = Runtime.getRuntime().availableProcessors() * 2; + private static final int CORE_POOL_SIZE = + Math.min(ThreadPoolExecutorFactory.MAX_IMUM_POOL_SIZE, Runtime.getRuntime().availableProcessors() * 2); /** * maximumPoolSize - 池中允许的最大线程数(采用LinkedBlockingQueue时没有作用)。 */ @@ -63,19 +65,18 @@ public final class ThreadPoolExecutorFactory { synchronized (ThreadPoolExecutorFactory.class) { if (null == threadPoolExecutor) { threadPoolExecutor = new ThreadPoolExecutor( - //核心线程数 - CORE_POOL_SIZE, - //最大线程数,包含临时线程 - MAX_IMUM_POOL_SIZE, - //临时线程的存活时间 - KEEP_ALIVE_TIME, - //时间单位(毫秒) - TimeUnit.MILLISECONDS, - //等待队列 - new LinkedBlockingQueue<>(QUEUE_SIZE), - //拒绝策略 - new ThreadPoolExecutor.CallerRunsPolicy() - ); + //核心线程数 + CORE_POOL_SIZE, + //最大线程数,包含临时线程 + MAX_IMUM_POOL_SIZE, + //临时线程的存活时间 + KEEP_ALIVE_TIME, + //时间单位(毫秒) + TimeUnit.MILLISECONDS, + //等待队列 + new LinkedBlockingQueue<>(QUEUE_SIZE), + //拒绝策略 + new ThreadPoolExecutor.CallerRunsPolicy()); } } }