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