현재 메서드를 차단하지 않고 일정 시간이 지나면 코드를 실행해야합니다. 자바 지연 메서드 실행
가 나는 다음 두 방법을 시도 :public static void main(final String[] args) {
System.out.println("Start");
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("done");
this.cancel();
}
}, 4000L);
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.schedule(new Runnable() {
public void run() {
System.out.println("done");
}
}, 2, TimeUnit.SECONDS);
executor.shutdown();
System.out.println("Stop");
}
문제는 첫 번째 응용 프로그램을 차단하지 두 번째가 완료 될 때까지 종료 할 주요 허용하지 않는다는 것입니다;
얼마 후에 코드를 실행하고 일정을 잡은 직후에 현재 방법을 종료 하시겠습니까?
무엇을하려고합니까? 두 번째 방법은 \t을 비동기 적으로 실행합니다. 즉, 메소드를 차단하지 않습니다. – Anthales