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-mwTest-client/src/main/java/com/dy/testClient/tcpClient/TcpClUnit.java | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/TcpClUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/TcpClUnit.java index 8db9ab8..e2f8660 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/TcpClUnit.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/TcpClUnit.java @@ -71,7 +71,7 @@ public void run() { try { while(true){ - if(!ServerProperties.startWork){ + if(!ServerProperties.startTcpConnectWork){ Thread.sleep(100L); }else{ try{ @@ -101,7 +101,14 @@ } } - startJob() ; + while (true){ + if(!ServerProperties.startRtuReportWork){ + Thread.sleep(100L); + }else{ + startJob() ; + break ; + } + } while(true){ if(totalOverClientCount.longValue() >= totalRtuClientCount.longValue()){ @@ -210,16 +217,16 @@ totalSendDataCount++; if(totalOverClientCount.longValue() >= totalRtuClientCount.longValue()){ RmiClUnit.getInstance().reportHadReportCount(totalSendDataCount); - System.out.println("宸茬粡鍙戦��" + totalSendDataCount + "鏉℃暟鎹�"); + System.out.println("宸茬粡鍙戦��" + totalSendDataCount + "鏉℃暟鎹紙蹇冭烦鍜屼笂鎶ワ級"); }else{ if(totalRtuClientCount > 100){ if(totalSendDataCount % 100 == 0){ RmiClUnit.getInstance().reportHadReportCount(totalSendDataCount); - System.out.println("宸茬粡鍙戦��" + totalSendDataCount + "鏉℃暟鎹�"); + System.out.println("宸茬粡鍙戦��" + totalSendDataCount + "鏉℃暟鎹紙蹇冭烦鍜屼笂鎶ワ級"); } }else{ RmiClUnit.getInstance().reportHadReportCount(totalSendDataCount); - System.out.println("宸茬粡鍙戦��" + totalSendDataCount + "鏉℃暟鎹�"); + System.out.println("宸茬粡鍙戦��" + totalSendDataCount + "鏉℃暟鎹紙蹇冭烦鍜屼笂鎶ワ級"); } } } -- Gitblit v1.8.0