java鎬庝箞璁剧疆瀹氭椂浠诲姟
鍦↗ava涓缃畾鏃朵换鍔℃湁澶氱鏂瑰紡锛屼互涓嬫槸鍏朵腑鍑犵甯歌鐨勬柟娉曪細
-
浣跨敤Timer绫诲拰TimerTask绫伙細Timer绫荤敤浜庡畨鎺掑欢杩熶换鍔℃墽琛岋紝TimerTask绫绘槸涓€涓娊璞$被锛岀敤浜庡畾涔夊叿浣撶殑浠诲姟銆傞€氳繃鍒涘缓Timer瀵硅薄鍜岀户鎵縏imerTask绫诲苟瀹炵幇鍏秗un()鏂规硶锛岀劧鍚庝娇鐢═imer鐨剆chedule()鏂规硶璁剧疆浠诲姟鐨勬墽琛屾椂闂村拰闂撮殧鏃堕棿銆?/p>
import java.util.Timer; import java.util.TimerTask; public class MyTask extends TimerTask { @Override public void run() { // 瀹氭椂鎵ц鐨勪换鍔?/span> } public static void main(String[] args) { Timer timer = new Timer(); TimerTask task = new MyTask(); // 鍦ㄥ欢杩?绉掑悗鎵ц浠诲姟锛屾瘡闅?绉掗噸澶嶆墽琛?/span> timer.schedule(task, 1000, 2000); } }
-
浣跨敤ScheduledExecutorService绫伙細ScheduledExecutorService鏄竴涓帴鍙o紝瀹冩槸ExecutorService鐨勫瓙鎺ュ彛锛屾彁渚涗簡璋冨害鎵ц浠诲姟鐨勫姛鑳姐€傞€氳繃浣跨敤Executors绫荤殑闈欐€佹柟娉曞垱寤轰竴涓猄cheduledExecutorService瀵硅薄锛岀劧鍚庝娇鐢ㄥ叾schedule()鏂规硶璁剧疆浠诲姟鐨勬墽琛屾椂闂村拰闂撮殧鏃堕棿銆?/p>
import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class MyTask implements Runnable { @Override public void run() { // 瀹氭椂鎵ц鐨勪换鍔?/span> } public static void main(String[] args) { ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); Runnable task = new MyTask(); // 鍦ㄥ欢杩?绉掑悗鎵ц浠诲姟锛屾瘡闅?绉掗噸澶嶆墽琛?/span> executor.scheduleAtFixedRate(task, 1, 2, TimeUnit.SECONDS); } }
-
浣跨敤quartz妗嗘灦锛歈uartz鏄竴涓紑婧愮殑浣滀笟璋冨害妗嗘灦锛屽彲浠ョ敤浜庡湪Java搴旂敤绋嬪簭涓缃畾鏃朵换鍔°€傞鍏堥渶瑕佸鍏uartz鐨刯ar鍖咃紝鐒跺悗閫氳繃閰嶇疆quartz鐨刯ob鍜宼rigger鏉ヨ缃畾鏃朵换鍔$殑鎵ц鏃堕棿鍜岄棿闅旀椂闂淬€?/p>
import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.impl.StdSchedulerFactory; import static org.quartz.JobBuilder.*; import static org.quartz.TriggerBuilder.*; import static org.quartz.SimpleScheduleBuilder.*; public class MyTask implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { // 瀹氭椂鎵ц鐨勪换鍔?/span> } public static void main(String[] args) throws SchedulerException { Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.start(); JobDetail job = newJob(MyTask.class) .withIdentity("myJob", "group1") .build(); Trigger trigger = newTrigger() .withIdentity("myTrigger", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(2) .repeatForever()) .build(); scheduler.scheduleJob(job, trigger); } }
浠ヤ笂鏄笁绉嶅父瑙佺殑璁剧疆瀹氭椂浠诲姟鐨勬柟寮忥紝鏍规嵁鍏蜂綋鐨勯渶姹傞€夋嫨閫傚悎鐨勬柟娉曘€?/p>