From 34e795bedc57454c43b00cdf8e2cc2d9eb5a932a Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 11 四月 2025 14:59:50 +0800
Subject: [PATCH] 优化轮灌组分页查询接口

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreThread.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreThread.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreThread.java
new file mode 100644
index 0000000..e77a8d1
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreThread.java
@@ -0,0 +1,81 @@
+package com.dy.common.mw.core;
+
+import org.apache.logging.log4j.*;
+
+import com.dy.common.queue.Queue;
+
+/**
+ * 2024-11-21 璇ョ被宸茬粡寮冪敤锛屾敼鐢盋oreTimer瀹炵幇銆�
+ * 褰撻噰鐢═hread瀹炵幇鏃讹紝鍦╳hile(true){}涓娇鐢═hread.sleep()锛屽彲鑳藉鑷寸殑涓ラ噸鎬ц兘闂锛屼笉鎺ㄨ崘鍦ㄥ惊鐜腑浣跨敤绾跨▼浼戠湢銆�
+ * Java绾跨▼瀹炵幇閲囩敤鍐呮牳绾跨▼瀹炵幇锛岀嚎绋嬬殑浼戠湢鍙婂敜閱掞紙鐘舵�佸垏鎹級闇�鍊熷姪鎿嶄綔绯荤粺杩涜锛岃繖鏄竴涓瀬鍏惰�楁椂鑰楀姏鐨勬搷浣溿��
+ * 鍦ㄧ嚎绋嬩紤鐪犳垨杩愯鏃堕棿杈冮暱鐨勬儏鏅笅锛屽叾瀵规�ц兘鐨勫奖鍝嶈繕涓嶇畻鏄庢樉锛屽洜涓哄绾跨▼鐘舵�佺殑鍒囨崲骞朵笉棰戠箒銆�
+ * 浣嗚嫢绾跨▼浼戠湢鍙婅繍琛岀殑鏃堕棿閮藉緢鐭紙渚嬪姣/绉掞級锛�
+ * 绯荤粺灏嗛绻佺殑瀵圭嚎绋嬬姸鎬佽繘琛屽垏鎹紝瀵艰嚧涓ラ噸鐨勬�ц兘鎹熻�楋紝骞跺鐫�寰幆娆℃暟鐨勯�掑鑰屾斁澶с��
+ */
+@Deprecated
+public class CoreThread extends Thread{
+	
+	private static Logger log = LogManager.getLogger(CoreThread.class.getName()) ;
+	
+	private static CoreThread instance = new CoreThread() ;
+
+	private static Long sleepBigBusy = 100L ;//澶у繖鏃讹紙闄や簡鎭掍箙浠诲姟锛岃繕鏄叾浠栦换鍔★級锛屾牳蹇冪嚎绋嬫殏鍋滈棿闅�
+	private static Long sleepSmallBusy = 500L ;//灏忓繖鏃讹紙鍙湁鎭掍箙浠诲姟锛屾棤鍏朵粬浠诲姟锛夛紝鏍稿績绾跨▼鏆傚仠闂撮殧
+	
+	private CoreThread(){
+	}
+	
+	public static CoreThread getInstance(){
+		return instance ;
+	}
+	
+	/**
+	 * 璁剧疆鏆傚仠鏃堕暱
+	 * @param sleepBigBusy 澶у繖鏃剁潯鐪犳椂闀�
+	 * @param sleepSmallBusy 灏忓繖鏃剁潯鐪犳椂闀�
+	 */
+	public void setSleep(Long sleepBigBusy, Long sleepSmallBusy){
+		CoreThread.sleepBigBusy = sleepBigBusy ;
+		CoreThread.sleepSmallBusy = sleepSmallBusy ;
+	}
+
+	/**
+	 * 鏍稿績鍗曠嚎绋嬶紝鎵ц鎵�鏈夌殑鍗曠嚎绋嬩换鍔�
+	 */
+	@SuppressWarnings("finally")
+	@Override
+	public void run() {
+		Queue coreQueue = CoreUnit.taskQueue ;
+		int count = 0 ;
+		int n = 0 ;
+		while(true){
+			try{
+				/**
+				 * 姝ゅ鍙栧嚭褰撳墠闃熷垪鐨勮妭鐐规暟閲忥紝浣滀负涓�涓畾閲廲ount澶勭悊锛� 
+				 * 鍘熷洜:
+				 * 鍦ㄥ鐞嗗畾閲廲ount杩囩▼涓紝鍙兘鏈夌殑鑺傜偣鍙堝洖鍒伴槦鍒椾腑锛屽彲鑳芥柊鐢熻妭鐐硅繘鍏ラ槦鍒椾腑锛屽嵆鍦ㄥ鐞嗚繃绋嬩腑锛岄槦鍒楀彲鑳藉張澧為暱浜�
+				 */
+				count = coreQueue.size() ;
+				if(count > 0){
+					n = 0 ;
+					while(n < count){
+						CoreTask task = (CoreTask)coreQueue.pop() ;
+						if(task != null){
+							task.execute();
+						}
+						n ++ ;
+					}
+					//澶ф殏鍋滀竴涓�
+					sleep(sleepBigBusy) ;
+				}else{
+					//灏忔殏鍋滀竴涓�
+					sleep(sleepSmallBusy) ;
+				}
+			}catch(Exception e){
+				log.error("鏍稿績绾跨▼鍙戠敓寮傚父" + (e.getMessage() == null ? "" : (":" + e.getMessage())), e);;
+			}finally{
+				continue ;
+			}
+		}
+	}
+}

--
Gitblit v1.8.0