From 7c98e347015e96a7683dbb08b36495c75c54bea5 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期二, 28 十一月 2023 08:33:22 +0800
Subject: [PATCH] 回退

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPoolImp.java |   92 +++++++++++++++++++++++++++------------------
 1 files changed, 55 insertions(+), 37 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPoolImp.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPoolImp.java
index 8ec40ae..204d758 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPoolImp.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPoolImp.java
@@ -75,6 +75,36 @@
 		 */
 		private Logger log = LogManager.getLogger(MonitorThread.class.getName());
 		
+		/**
+		 * 寰楀埌榛樿鍞竴瀹炰緥
+		 * @return
+		 */
+//		public MyThreadPool getDefaultInstance(){
+//			if(myPool == null){
+//				myPool = new MyThreadPool(null, null, null, null, null) ;
+//			}
+//			return myPool ;
+//		}
+		/**
+		 * 寰楀埌鍞竴瀹炰緥
+		 * @param poolName
+		 * @param maxNum
+		 * @param minNum
+		 * @param freeTimeout
+		 * @param busyTimeout
+		 * @return
+		 */
+//		public MyThreadPool getInstance(
+//				String poolName , 
+//				Integer maxNum , 
+//				Integer minNum ,
+//				Long freeTimeout ,
+//				Long busyTimeout){
+//			if(myPool == null){
+//				myPool = new MyThreadPool(poolName, maxNum, minNum, freeTimeout, busyTimeout) ;
+//			}
+//			return myPool ;
+//		}
 
 		/**
 		 * 绾跨▼姹犳瀯閫犳柟娉�
@@ -95,8 +125,8 @@
 			}
 			this.poolName = poolName ;
 			
-			if(maxNum == null || maxNum.intValue() < 0){
-				maxNum = 65535 ;
+			if(maxNum == null || maxNum.intValue() <= 0){
+				maxNum = -1 ;
 			}
 			if(minNum == null || minNum.intValue() < 0){
 				minNum = 0 ;
@@ -118,19 +148,20 @@
 			}else{
 				this.busyTimeout = busyTimeout ;	
 			}
-			if(maxNum != 0){
-				this.busiThreads = new ArrayList<>();
-				this.freeThreads = new ArrayList<>();
-				//鏈�灏忓寲绾跨▼姹�
-				for (int i = 0; i < this.minNum ; i++) {
-					MyThread t = new MyThread(this);
-					t.start();
-					this.freeThreads.add(t);
-					this.currNum++;
-				}
-				this.monitorThread = new MonitorThread(this) ;
-				this.monitorThread.start() ;
+
+			this.busiThreads = new ArrayList<MyThread>();
+			this.freeThreads = new ArrayList<MyThread>();
+
+			//鏈�灏忓寲绾跨▼姹�
+			for (int i = 0; i < this.minNum ; i++) {
+				MyThread t = new MyThread(this);
+				t.start();
+				this.freeThreads.add(t);
+				this.currNum++;
 			}
+			
+			this.monitorThread = new MonitorThread(this) ;
+			this.monitorThread.start() ;
 		}
 
 		/**
@@ -140,9 +171,6 @@
 		 */
 		@Override
 		public void putJob(Job job) throws Exception {
-			if(this.busiThreads == null || this.freeThreads == null){
-				throw new Exception("绾跨▼姹犳湭鍚姩") ;
-			}
 			synchronized(this.synObj) {
 				//log.debug("宸ヤ綔浠诲姟鍒嗛厤鍒扮嚎绋嬫睜涓��") ;
 				MyThread t = null ;
@@ -187,10 +215,7 @@
 		/**
 		 * 绾跨▼宸ヤ綔瀹屾垚锛屼粠busiThreads鍥炲綊freeThreads
 		 */
-		protected void freeThread(MyThread t) throws Exception {
-			if(this.busiThreads == null || this.freeThreads == null){
-				throw new Exception("绾跨▼姹犳湭鍚姩") ;
-			}
+		protected void freeThread(MyThread t) {
 			synchronized (synObj) {
 				busiThreads.remove(t);
 				freeThreads.add(t);
@@ -211,7 +236,7 @@
 
 			/**
 			 * 
-			 * @param pool 姹�
+			 * @param pool
 			 */
 			public MonitorThread(MyThreadPool pool){
 				this.pool = pool ;
@@ -277,7 +302,6 @@
 							}
 						}//end synchronized (pool.synObj)
 					}catch(Exception e){
-						e.printStackTrace();
 					}finally{
 						continue ;
 					}
@@ -330,7 +354,7 @@
 		
 		/**
 		 * 璁剧疆绾跨▼宸ヤ綔瀵硅薄
-		 * @param job 宸ヤ綔
+		 * @param job
 		 */
 		protected void putJob(Job job) throws Exception {
 			if(job == null){
@@ -394,19 +418,13 @@
 		}
 		
 		public void free(){
-			try{
-				//浣挎湰绾跨▼鍥炲綊绌洪棽绾跨▼姹�
-				pool.freeThread(this);
-				//绌洪棽寮�濮嬭鏃�
-				this.time = System.currentTimeMillis() ;
-				// 娌℃湁鍙仛鐨勪簡
-				this.canJob = false;
-				log.debug("绾跨▼姹�(" + this.pool.poolName + ")涓殑绾跨▼鍥炲綊绌洪棽闆嗗悎銆�");
-			}catch (Exception e){
-				log.error("绾跨▼姹�(" + pool.poolName + ")鐨勫伐浣滅嚎绋嬮噴鏀惧洖褰掓椂鍙戠敓寮傚父:\n" + e.getMessage(), e);
-				e.printStackTrace();
-			}
-
+			//浣挎湰绾跨▼鍥炲綊绌洪棽绾跨▼姹�
+			pool.freeThread(this);
+			//绌洪棽寮�濮嬭鏃�
+			this.time = System.currentTimeMillis() ;
+			// 娌℃湁鍙仛鐨勪簡
+			this.canJob = false;
+			log.debug("绾跨▼姹�(" + this.pool.poolName + ")涓殑绾跨▼鍥炲綊绌洪棽闆嗗悎銆�");
 		}
 
 		/**

--
Gitblit v1.8.0