扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java鎬庝箞璁剧疆瀹氭椂浠诲姟

扬州沐宇科技
2023-11-28 17:55:46
Java

鍦↗ava涓缃畾鏃朵换鍔℃湁澶氱鏂瑰紡锛屼互涓嬫槸鍏朵腑鍑犵甯歌鐨勬柟娉曪細

  1. 浣跨敤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);
        }
    }
    
  2. 浣跨敤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);
        }
    }
    
  3. 浣跨敤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>

扫码添加客服微信