ScheduledFuture
ScheduledFuture (지연된 결과를 담는 취소 가능한 작업)
지연된 결과를 지니며 취소할 수 있는 액션을 나타내는 인터페이스예요. 보통 ScheduledExecutorService로 작업을 예약했을 때 그 결과로 만들어지는 미래 객체(Future)에 해당해요.
본문
ScheduledFuture<V>는 Delayed와 Future<V>를 함께 상속한 인터페이스예요. 그래서 예약된 작업이 언제 실행될지 나타내는 지연 시간 정보와, 그 작업의 결과를 가져오거나 취소하는 기능을 동시에 제공해요.
- 지연된 결과를 지니는 액션이며, 수행 중 취소할 수 있어요.
- 보통
ScheduledExecutorService의schedule,scheduleAtFixedRate,scheduleWithFixedDelay같은 메서드가 반환하는 타입으로서 사용돼요. getDelay()를 통해 남은 지연 시간을 얻고,Future의get(),cancel(),isDone()등을 그대로 쓸 수 있어요.
ScheduledFuture<?> future = scheduler.schedule(task, 5, TimeUnit.SECONDS);
long remaining = future.getDelay(TimeUnit.MILLISECONDS);
이 인터페이스에 실질적인 메서드가 새로 추가되지는 않으며, Delayed와 Future가 제공하는 기능을 합친 성격을 가져요. 코드와 시그니처는 원문 그대로 보존돼요.