From 7f5d914898c9d05942705ce7d80c0d14a8174df8 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 19 十二月 2023 15:57:14 +0800 Subject: [PATCH] 1、common模块优化代码; 2、通信中间件优化代码,队列遍历由递归调用改为while循环,原因是队列数据量大时递归调易产生栈溢出,HashTable多线程应用时仍有线程安全问题,改为HashMap+同步锁; 3、RTU模拟器和模拟器控制服务增加report命令 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogManager.java | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogManager.java index 60704e6..63287c0 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogManager.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogManager.java @@ -26,6 +26,7 @@ private static final Integer maxNodeAddWorkThread = 500 ;//缂撳瓨杈惧埌杩欎釜鏁伴噺锛屽皢澧炲姞绾跨▼ private static final Integer maxWorkThread = 5 ;//鏈�澶у伐浣滅嚎绋嬫暟 + private static final Object maxWorkThreadSynObj = new Object() ;//鏈�澶у伐浣滅嚎绋嬫暟 private static int workThread = 0 ;//宸ヤ綔绾跨▼鏁� private RtuLogManager(){ @@ -83,7 +84,7 @@ if(RtuLogManager.logQueue.size() > maxNodeAddWorkThread){ if(workThread < maxWorkThread){ - synchronized(maxWorkThread){ + synchronized(maxWorkThreadSynObj){ if(workThread < maxWorkThread){ startWorkThread() ; } -- Gitblit v1.8.0