温馨提示×

futuretask的常用方法有哪些

小亿
90
2024-02-04 10:27:46
栏目: 编程语言

FutureTask的常用方法有:

  1. get():获取任务的结果,如果任务还没有完成,则阻塞等待任务完成后返回结果。
  2. get(long timeout, TimeUnit unit):获取任务的结果,如果任务还没有完成,则最多等待指定的时间(由timeout和unit参数决定),如果在等待时间内任务完成则返回结果,否则抛出TimeoutException异常。
  3. cancel(boolean mayInterruptIfRunning):尝试取消任务的执行。如果任务已经完成或者已经被取消,则该方法返回false;如果任务还没有开始执行,则会尝试取消任务的执行并返回true;如果任务正在执行,并且mayInterruptIfRunning参数为true,则会中断任务的执行并返回true;如果任务正在执行,并且mayInterruptIfRunning参数为false,则无法取消任务的执行并返回false。
  4. isCancelled():判断任务是否被取消。
  5. isDone():判断任务是否完成。
  6. run():执行任务。这个方法会在任务还没有被执行时被调用。
  7. runAndReset():执行任务并重置任务的状态。这个方法会在任务还没有被执行时被调用,并且在执行完毕后重置任务的状态,使得任务可以重新执行。
  8. set(V result):设置任务的结果,并标记任务已经完成。
  9. setException(Throwable throwable):设置任务执行过程中抛出的异常,并标记任务已经完成。
  10. isPeriodic():判断任务是否是周期性任务。这个方法在FutureTask中没有具体的实现,而是在ScheduledFutureTask中有实现。

0