From ae28c8423c01b20af91c18f37a2df722188edc93 Mon Sep 17 00:00:00 2001 From: xxx <1138069338@qq.com> Date: Mon, 20 Apr 2026 13:50:11 +1000 Subject: [PATCH] introduce private method to remove clones --- .../threads/RemoteThreadsListenerImpl.java | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java index 8d4d75ee59a..4919203de16 100644 --- a/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java +++ b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java @@ -70,6 +70,24 @@ private static int addOffset(int port, int offset) { return port + offset; } + private void updateGuiThreadCounts() { + GuiPackage guiPackage = GuiPackage.getInstance(); + if (guiPackage != null) { // check there is a GUI + guiPackage.getMainFrame().updateCounts(); + } + } + + private void notifyThreadCountChanged(boolean increased) { + int threadCount = JMeterContextService.getNumberOfThreads(); + for (RemoteThreadsLifeCycleListener listener : listeners) { + if (increased) { + listener.threadNumberIncreased(threadCount); + } else { + listener.threadNumberDecreased(threadCount); + } + } + } + /** * * @see RemoteThreadsListener#threadStarted() @@ -77,24 +95,14 @@ private static int addOffset(int port, int offset) { @Override public void threadStarted() { JMeterContextService.incrNumberOfThreads(); - GuiPackage gp =GuiPackage.getInstance(); - if (gp != null) {// check there is a GUI - gp.getMainFrame().updateCounts(); - } - for (RemoteThreadsLifeCycleListener listener : listeners) { - listener.threadNumberIncreased(JMeterContextService.getNumberOfThreads()); - } + updateGuiThreadCounts(); + notifyThreadCountChanged(true); } @Override public void threadFinished() { JMeterContextService.decrNumberOfThreads(); - GuiPackage gp =GuiPackage.getInstance(); - if (gp != null) {// check there is a GUI - gp.getMainFrame().updateCounts(); - } - for (RemoteThreadsLifeCycleListener listener : listeners) { - listener.threadNumberDecreased(JMeterContextService.getNumberOfThreads()); - } - } + updateGuiThreadCounts(); + notifyThreadCountChanged(false); + } }