scheduleAtFixed Rate 와 scheduleWith Fixed Delay 방법

1173 단어 자바
이전 코드
package com.xxl.job.executor.utils;

import groovy.util.logging.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

@Component
public class OrderService {

    /**
     * bean      ,      
     *  10MS,           
     */
    @PostConstruct
    public void init(){
        ScheduledExecutorService scheduledExecutorService=
                Executors.newScheduledThreadPool(1);
        scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                System.out.println("AAA");
            }
        },0,5, TimeUnit.SECONDS);//    


    }

    @PreDestroy
    public void destroy(){
        System.out.println("  !");
    }


}

 1. scheduleAtFixed Rate 는 상기 작업 의 시작 시간 을 간격 으로 하고 작업 수행 시간 이 설 정 된 간격 보다 많 을 때 실제 간격 은 작업 수행 시간 을 기준 으로 한다.
2. schedule With Fixed Delay 는 상기 미 션 의 종료 시간 을 간격 으로 합 니 다.
3. 이상 캡 처 하지 않 으 면 스케줄 링 을 중단 합 니 다

좋은 웹페이지 즐겨찾기