From e2c28bc98587c6edd6a38f06b972ff51d998028f Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期三, 27 十一月 2024 08:52:05 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreConstantThread.java |  104 +++++++++++++++++++++++----------------------------
 1 files changed, 47 insertions(+), 57 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreConstantThread.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreConstantThread.java
index 0d41ea4..34a6f56 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreConstantThread.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreConstantThread.java
@@ -1,64 +1,54 @@
 package com.dy.common.mw.core;
 
-import java.util.List;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
-import org.apache.logging.log4j.*;
+/**
+ * @Author liurunyu
+ * @Date 2023/12/19 16:41
+ * @LastEditTime 2023/12/19 16:41
+ * @Description
+ */
+/**
+ * 2024-11-21 璇ョ被宸茬粡寮冪敤锛屾敼鐢盋oreConstantTimer瀹炵幇銆�
+ * 褰撻噰鐢═hread瀹炵幇鏃讹紝鍦╳hile(true){}涓娇鐢═hread.sleep()锛屽彲鑳藉鑷寸殑涓ラ噸鎬ц兘闂锛屼笉鎺ㄨ崘鍦ㄥ惊鐜腑浣跨敤绾跨▼浼戠湢銆�
+ * Java绾跨▼瀹炵幇閲囩敤鍐呮牳绾跨▼瀹炵幇锛岀嚎绋嬬殑浼戠湢鍙婂敜閱掞紙鐘舵�佸垏鎹級闇�鍊熷姪鎿嶄綔绯荤粺杩涜锛岃繖鏄竴涓瀬鍏惰�楁椂鑰楀姏鐨勬搷浣溿��
+ * 鍦ㄧ嚎绋嬩紤鐪犳垨杩愯鏃堕棿杈冮暱鐨勬儏鏅笅锛屽叾瀵规�ц兘鐨勫奖鍝嶈繕涓嶇畻鏄庢樉锛屽洜涓哄绾跨▼鐘舵�佺殑鍒囨崲骞朵笉棰戠箒銆�
+ * 浣嗚嫢绾跨▼浼戠湢鍙婅繍琛岀殑鏃堕棿閮藉緢鐭紙渚嬪姣/绉掞級锛�
+ * 绯荤粺灏嗛绻佺殑瀵圭嚎绋嬬姸鎬佽繘琛屽垏鎹紝瀵艰嚧涓ラ噸鐨勬�ц兘鎹熻�楋紝骞跺鐫�寰幆娆℃暟鐨勯�掑鑰屾斁澶с��
+ */
+@Deprecated
+public class CoreConstantThread extends Thread {
 
-public class CoreConstantThread extends Thread{
-	
-	private final static Logger log = LogManager.getLogger(CoreConstantThread.class.getName()) ;
-	
-	private final static CoreConstantThread instance = new CoreConstantThread() ;
+    private final static Logger log = LogManager.getLogger(CoreConstantThread.class.getName()) ;
 
-	@SuppressWarnings("unused")
-	private static Long sleepBigBusy = 100L ;//澶у繖鏃讹紙闄や簡鎭掍箙浠诲姟锛岃繕鏄叾浠栦换鍔★級锛屾牳蹇冪嚎绋嬫殏鍋滈棿闅�
-	private static Long sleepSmallBusy = 500L ;//灏忓繖鏃讹紙鍙湁鎭掍箙浠诲姟锛屾棤鍏朵粬浠诲姟锛夛紝鏍稿績绾跨▼鏆傚仠闂撮殧
-	
-	private CoreConstantThread(){
-	}
-	
-	public static CoreConstantThread getInstance(){
-		return instance ;
-	}
-	
-	/**
-	 * 璁剧疆鏆傚仠鏃堕暱
-	 * @param sleepBigBusy 澶у繖鏃讹紙闄や簡鎭掍箙浠诲姟锛岃繕鏄叾浠栦换鍔★級锛屾牳蹇冪嚎绋嬫殏鍋滈棿闅�
-	 * @param sleepSmallBusy 灏忓繖鏃讹紙鍙湁鎭掍箙浠诲姟锛屾棤鍏朵粬浠诲姟锛夛紝鏍稿績绾跨▼鏆傚仠闂撮殧
-	 */
-	public void setSleep(Long sleepBigBusy, Long sleepSmallBusy){
-		CoreConstantThread.sleepBigBusy = sleepBigBusy ;
-		CoreConstantThread.sleepSmallBusy = sleepSmallBusy ;
-	}
+    private long sleepBigBusy ;
+    private long sleepSmallBusy ;
+    private CoreTask task ;
 
-	/**
-	 * 鏍稿績鍗曠嚎绋嬶紝鎵ц鎵�鏈夌殑鍗曠嚎绋嬩换鍔�
-	 */
-	@Override
-	@SuppressWarnings("InfiniteLoopStatement")
-	public void run(){
-		int count ;
-		Integer temp ;
-		while (true) {
-			count = 0;
-			try {
-				//鎭掍箙浠诲姟
-				List<CoreTask> constantTasks = CoreUnit.getAllConstantTasks();
-				if (constantTasks != null && constantTasks.size() > 0) {
-					for (CoreTask task : constantTasks) {
-						temp = task.execute();
-						if (temp != null) {
-							count += temp;
-						}
-					}
-				}
-				if (count == 0) {
-					//灏忔殏鍋滀竴涓�
-					Thread.sleep(sleepSmallBusy);
-				}
-			} catch (Exception e) {
-				log.error("鏍稿績绾跨▼鍙戠敓寮傚父" + (e.getMessage() == null ? "" : (":" + e.getMessage())), e);
-			}
-		}
-	}
+    public CoreConstantThread(long sleepBigBusy, long sleepSmallBusy, CoreTask task){
+        this.sleepBigBusy = sleepBigBusy ;
+        this.sleepSmallBusy = sleepSmallBusy ;
+        this.task = task ;
+    }
+
+    @Override
+    public void run() {
+        if(task != null){
+            int count ;
+            while (true) {
+                try {
+                    count = task.execute();
+                    if (count == 0) {
+                        //灏忔殏鍋滀竴涓�
+                        Thread.sleep(sleepBigBusy);
+                    }else{
+                        Thread.sleep(sleepSmallBusy);
+                    }
+                } catch (Exception e) {
+                    log.error("鎭掍箙浠诲姟" + task.getClass().getName() + "鎵ц鏃跺彂鐢熷紓甯�" + (e.getMessage() == null ? "" : (":" + e.getMessage())), e);
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.8.0