From b3b17b231e2f2840332ce6eb96f791865fdec6d5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 16:38:16 +0800
Subject: [PATCH] 代码优化
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreTimer.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreTimer.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreTimer.java
new file mode 100644
index 0000000..9e30fd6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/core/CoreTimer.java
@@ -0,0 +1,80 @@
+package com.dy.common.mw.core;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/11/21 13:41
+ * @Description
+ */
+public class CoreTimer extends TimerTask {
+
+ private static final Logger log = LogManager.getLogger(CoreTimer.class.getName()) ;
+
+ private static final CoreTimer instance = new CoreTimer() ;
+
+ private Long workInterval = 100L ;//鏍稿績绾跨▼鏆傚仠闂撮殧
+
+ private Timer timer;
+
+ private boolean stop;
+
+ private CoreTimer(){
+ this.timer = new Timer();
+ this.stop = false ;
+ }
+
+ public static CoreTimer getInstance(){
+ return instance ;
+ }
+
+ public void stop(){
+ this.stop = true ;
+ if(this.timer != null){
+ this.timer.cancel();
+ }
+ }
+ public boolean isStop(){
+ return this.stop ;
+ }
+
+ /**
+ * 璁剧疆/鏍稿績绾跨▼鏆傚仠闂撮殧
+ * @param workInterval /鏍稿績绾跨▼鏆傚仠闂撮殧
+ */
+ public void setSleep(Long workInterval){
+ this.workInterval = workInterval ;
+ }
+
+ public void start(){
+ this.timer.schedule(this, 0 , this.workInterval);
+ }
+
+ /**
+ * TimerTask鐨剅un鏂规硶
+ */
+ @Override
+ public void run() {
+ try{
+ /**
+ * 姝ゅ鍙栧嚭褰撳墠闃熷垪鐨勮妭鐐规暟閲忥紝浣滀负涓�涓畾閲廲ount澶勭悊锛�
+ * 鍘熷洜:
+ * 鍦ㄥ鐞嗗畾閲廲ount杩囩▼涓紝鍙兘鏈夌殑鑺傜偣鍙堝洖鍒伴槦鍒椾腑锛屼篃鍙兘鏂扮敓鑺傜偣杩涘叆闃熷垪涓紝鍗冲湪澶勭悊杩囩▼涓紝闃熷垪鍙兘鍙堝闀夸簡
+ */
+ int count = CoreUnit.taskQueue.size() ;
+ while(count > 0){
+ CoreTask task = (CoreTask)CoreUnit.taskQueue.pop() ;
+ if(task != null){
+ task.execute();
+ }
+ count-- ;
+ }
+ }catch(Exception e){
+ log.error("鏍稿績绾跨▼鍙戠敓寮傚父" + (e.getMessage() == null ? "" : (":" + e.getMessage())), e);;
+ }
+ }
+}
--
Gitblit v1.8.0