From 354328b17f82d620122976932654e2caff251815 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期二, 16 一月 2024 16:14:02 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskPool.java | 54 +++++++++++++++++++++++++++++------------------------- 1 files changed, 29 insertions(+), 25 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskPool.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskPool.java index 78ec7a6..69b1dd7 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskPool.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskPool.java @@ -26,23 +26,25 @@ * 澶氱嚎绋嬬幆澧冧笅杩愯 * @return */ - public static synchronized TaskSurpport popTask(){ - TaskSurpport t = (tasks.size() > 0)?tasks.get(0):null ; - if(t != null){ - tasks.remove(0) ; - }else{ - try { - t = newTaskTree() ; - } catch (Exception e) { - log.error(e.getMessage() == null?"瀹炰緥鍖栦笂琛屾暟鎹鐞嗕换鍔″璞℃爲澶辫触锛�" : e.getMessage(), e); - } finally { - if(t == null){ - log.error("瀹炰緥鍖栦笂琛屾暟鎹鐞嗕换鍔″璞″け璐ワ紒" ); + public static TaskSurpport popTask(){ + synchronized(tasks){ + TaskSurpport t = (tasks.size() > 0)?tasks.get(0):null ; + if(t != null){ + tasks.remove(0) ; + }else{ + try { + t = newTaskTree() ; + } catch (Exception e) { + log.error(e.getMessage() == null?"瀹炰緥鍖栦笂琛屾暟鎹鐞嗕换鍔″璞℃爲澶辫触锛�" : e.getMessage(), e); + } finally { + if(t == null){ + log.error("瀹炰緥鍖栦笂琛屾暟鎹鐞嗕换鍔″璞″け璐ワ紒" ); + } } } + + return t ; } - - return t ; } /** @@ -51,18 +53,20 @@ * 杩欓噷闇�瑕佸悓姝ラ攣锛屽洜涓轰笂闈㈡柟娉曚腑鎵ц瀹宼asks.get(0)涓旀湭鎵цtasks.remove(0)鏈熼棿锛屾湰鏂规硶鎵ц骞朵笖鎵ц瀹岋紝閭d箞鍚庢湡灏变細鍑轰贡瀛� * @param t */ - public static synchronized void freeAndCleanTask(TaskSurpport t){ - if(t != null){ - boolean find = false ; - for(TaskSurpport tin : tasks){ - if(tin == t){ - find = true ; - break ; + public static void freeAndCleanTask(TaskSurpport t){ + synchronized(tasks) { + if (t != null) { + boolean find = false; + for (TaskSurpport tin : tasks) { + if (tin == t) { + find = true; + break; + } } - } - if(!find){ - t.cleanMeAndSubs(); - tasks.add(0, t) ; + if (!find) { + t.cleanMeAndSubs(); + tasks.add(0, t); + } } } } -- Gitblit v1.8.0