java瀹氭椂浠诲姟鏃堕棿濡備綍璁剧疆
鍦↗ava涓紝鍙互浣跨敤java.util.Timer绫绘垨鑰卝ava.util.concurrent.ScheduledExecutorService鎺ュ彛鏉ヨ缃畾鏃朵换鍔$殑鎵ц鏃堕棿銆?/p>
- 浣跨敤java.util.Timer绫伙細
Timer绫诲彲浠ュ畨鎺掑湪鍥哄畾寤惰繜涔嬪悗寮€濮嬫墽琛屽畾鏃朵换鍔★紝鎴栬€呮寜鍥哄畾鐨勬椂闂撮棿闅旈噸澶嶆墽琛屽畾鏃朵换鍔°€俆imer绫绘彁渚涗簡涓や釜鏂规硶鏉ヨ缃畾鏃朵换鍔★細
-
schedule(TimerTask task, Date time)锛氬湪鎸囧畾鐨勬椂闂存墽琛屼竴娆″畾鏃朵换鍔°€?/p>
-
schedule(TimerTask task, Date firstTime, long period)锛氬湪鎸囧畾鐨勬椂闂村紑濮嬫墽琛屽畾鏃朵换鍔★紝骞舵寜鎸囧畾鐨勬椂闂撮棿闅旈噸澶嶆墽琛屻€?/p>
浠ヤ笅鏄竴涓娇鐢═imer绫昏缃畾鏃朵换鍔$殑绀轰緥浠g爜锛?/p>
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
// 鍦ㄦ寚瀹氱殑鏃堕棿鎵ц涓€娆″畾鏃朵换鍔?/span>
timer.schedule(new TimerTask() {
@Override
public void run() {
// 瀹氭椂浠诲姟鐨勫叿浣撻€昏緫
}
}, new Date());
// 鍦ㄦ寚瀹氱殑鏃堕棿寮€濮嬫墽琛屽畾鏃朵换鍔★紝骞舵瘡闅斿浐瀹氭椂闂撮噸澶嶆墽琛?/span>
timer.schedule(new TimerTask() {
@Override
public void run() {
// 瀹氭椂浠诲姟鐨勫叿浣撻€昏緫
}
}, new Date(), 1000); // 1000姣琛ㄧず1绉?/span>
}
}
- 浣跨敤java.util.concurrent.ScheduledExecutorService鎺ュ彛锛?/li>
ScheduledExecutorService鎺ュ彛鏄疛ava澶氱嚎绋嬪苟鍙戝簱涓殑涓€涓帴鍙o紝瀹冩彁渚涗簡涓€绉嶆洿鐏垫椿鐨勫畾鏃朵换鍔¤皟搴︽満鍒躲€係cheduledExecutorService鎺ュ彛鐨勫疄鐜扮被鍙互閫氳繃ScheduledExecutorService.schedule()鏂规硶鏉ヨ缃畾鏃朵换鍔$殑鎵ц鏃堕棿銆?/p>
浠ヤ笅鏄竴涓娇鐢⊿cheduledExecutorService鎺ュ彛璁剧疆瀹氭椂浠诲姟鐨勭ず渚嬩唬鐮侊細
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorServiceExample {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
// 鍦ㄦ寚瀹氱殑鏃堕棿鎵ц涓€娆″畾鏃朵换鍔?/span>
executor.schedule(new Runnable() {
@Override
public void run() {
// 瀹氭椂浠诲姟鐨勫叿浣撻€昏緫
}
}, 1, TimeUnit.SECONDS);
// 鍦ㄦ寚瀹氱殑鏃堕棿寮€濮嬫墽琛屽畾鏃朵换鍔★紝骞舵瘡闅斿浐瀹氭椂闂撮噸澶嶆墽琛?/span>
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
// 瀹氭椂浠诲姟鐨勫叿浣撻€昏緫
}
}, 1, 2, TimeUnit.SECONDS); // 1绉掑悗寮€濮嬫墽琛岋紝姣?绉掗噸澶嶆墽琛屼竴娆?/span>
}
}
浠ヤ笂鏄娇鐢↗ava涓殑Timer绫诲拰ScheduledExecutorService鎺ュ彛鏉ヨ缃畾鏃朵换鍔$殑绀轰緥浠g爜銆傛牴鎹疄闄呴渶姹傦紝鍙互閫夋嫨閫傚悎鐨勬柟寮忔潵璁剧疆瀹氭椂浠诲姟鐨勬墽琛屾椂闂淬€?/p>