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