From 4513ef24bf9b188c2a77d6ce94f1a6b7e9ebf0e6 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期日, 27 四月 2025 20:40:19 +0800 Subject: [PATCH] fix(irrigatePlan): 修正灌溉计划开始时间逻辑 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPool.java | 88 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 88 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPool.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPool.java new file mode 100644 index 0000000..8c557e2 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/ThreadPool.java @@ -0,0 +1,88 @@ +package com.dy.common.threadPool; + + +public interface ThreadPool { + + /** + * 绾跨▼姹� + * @author Administrator + * + */ + public interface Pool{ + /** + * 绾跨▼姹犱腑绾跨▼涓暟 + * @return + */ + public Integer size() ; + /** + * 绾跨▼姹犱腑绾跨▼鏈�澶ч檺鍒朵釜鏁� + * @return + */ + public Integer maxThread() ; + /** + * 绾跨▼姹犱腑绾跨▼鏈�灏忛檺鍒朵釜鏁� + * @return + */ + public Integer minThread() ; + /** + * 鎶婃墍瑕佹墽琛岀殑宸ヤ綔浠诲姟瀵硅薄瀹炰緥鏀惧叆绾跨▼姹犱腑 + * @param job ThreadJob 宸ヤ綔浠诲姟瀵硅薄瀹炰緥 + * @throws Exception + */ + public void putJob(Job job) throws Exception ; + } + + /** + * 绾跨▼姹犲伐浣滀换鍔� + * @author Administrator + * + */ + public interface Job{ + /** + * 绾跨▼姹犵嚎绋嬫墽琛屾椂鐨勫洖璋冩柟娉曘�� + * 娉ㄦ剰锛� + * 1銆佽繖涓柟娉曞唴锛屽敖閲忎笉浣跨敤try catch璇彞锛屽鏋滅‘瀹為渶瑕佺敤锛� + * 瑕佷竴瀹氱敤try catch finnaly璇彞锛岃�屼笖finnaly鍐呬笉瑕佸啀鏈夊彲鑳戒骇鐢熷紓甯搞�� + * 鍚﹀垯绾跨▼寰椾笉鍒扮粨鏉燂紝涓嶈兘鍥炲綊绌洪棽绾跨▼姹犮�� + * 2銆佸鏋滃湪鐭嚎绋嬫睜涓紝杩欎釜鏂规硶鍐呬笉鑳芥墽琛屾案寰幆宸ヤ綔锛屼緥濡傛湁while(true)杩欐牱鐨勫伐浣滀换鍔★紝 + * 鍚﹀垯鑷宠秴鏃舵椂闂达紝绯荤粺寮哄埗鍋滄姝ゅ伐浣溿�� + * 3銆佸鏋滃湪鐭嚎绋嬫睜涓紝杩欎釜鏂规硶鍐呭彧鑳芥墽琛岀煭鏃堕棿鍗冲彲瀹屾垚鐨勫伐浣滐紝宸ヤ綔瀹屾垚鍚庡嵆閫�鍑烘湰鏂规硶浣撱�� + * @throws Exception + */ + public void execute() throws Exception ; + + /** + * 澶栭儴璋冪敤锛屽己鍒堕攢姣佸伐浣� + * 涓昏搴旂敤锛� + * 濡傛灉鍦╡xecute()鏂规硶涓湁while(true){}姝诲惊鐜紝杩欑鎯呭喌涓嬶紝澶栭儴璋冪敤鑰呮病娉曞彨绾跨▼鍋滀笅鏉ョ殑锛� + * 濡傛灉澶栭儴璋冪敤鑰呴渶瑕佸仠姝㈡宸ヤ綔锛孞ob鎺ュ彛璁捐浜哾estroy鏂规硶锛屽閮ㄨ皟鐢ㄨ�呯敤job瀵硅薄璋冩鏂规硶瀹屾垚鍋滄宸ヤ綔銆� + * 杩欐椂闇�瑕佸湪while(true){}姝诲惊鐜腑鍒ゆ柇鏄惁澶栭儴璋冪敤鑰呰姹傚仠姝㈡墽琛宩ob + * 绀轰緥浠g爜锛� + * public void execute(){ + * while(true){ + * if(this.isDestroy){ + * break; + * } + * ... ... + * } + * } + * public void destroy(){ + * this.isDestroy = true ; + * } + * + * 闇�瑕亀hile(true){}姝诲惊鐜殑宸ヤ綔job涓�瀹氬湪闀跨嚎绋嬫睜涓伐浣滐紝濡傛灉鍦ㄧ煭绾跨▼姹犱腑宸ヤ綔锛岀嚎绋嬫睜鐩戞帶绾跨▼灏变細 + * 浠ュ繖纰岃秴鏃跺師鍥犳妸绾跨▼寮哄埗閿�姣侊紙绾跨▼姹犵洃鎺х嚎绋嬭皟鐢ㄥ伐浣滅嚎绋嬬殑destroy鏂规硶锛夛紝杩欓噷鐨勯攢姣佸疄闄呬笂閿�姣佷笉浜� + * 绾跨▼锛岃繖涓嚎绋嬩粛鐒舵槸娲荤潃鐨勶紝 绾跨▼閲岀殑job浠嶇劧琚墽琛岋紝鎵�浠ュ湪绾跨▼鐨刣estroy鏂规硶涓皟鐢ㄤ簡job.destroy()锛� + * 浣縥ob鍋滄涓嬫潵锛岀嚎绋嬩篃鑷劧鎵ц瀹屾瘯鑰屽緱浠ュ仠姝紝浠ヤ笂鏄唬鐮侀�昏緫瀛樺湪while(true){}姝诲惊鐜紝 + * 濡傛灉涓嶆槸浠g爜閫昏緫锛岃�屾槸绋嬪簭bug閫犳垚鐨勬寰幆锛屾垨绋嬪簭鎶涘嚭浜嗗紓甯镐笖鏈崟鑾峰紓甯革紝杩欐椂鏃犺濡備綍涔熷仠姝� + * 涓嶄簡宸ヤ綔job锛屼篃閿�姣佷笉浜嗚繖涓嚎绋嬬殑 + */ + public void destroy() ; + + /** + * 鍒ゆ柇锛屽伐浣滄槸鍚﹁澶栭儴寮哄埗閿�姣侊紝閿�姣佸悗锛屾寔鏈夋湰job鐨勭嚎绋嬪氨鑳芥柦鏀惧洖褰� + */ + public boolean isDestroy() ; + + } +} -- Gitblit v1.8.0