溫馨提示×

futuretask的常用方法有哪些

小億
89
2024-02-04 10:27:46
欄目: 編程語言

FutureTask的常用方法有:

  1. get():獲取任務(wù)的結(jié)果,如果任務(wù)還沒有完成,則阻塞等待任務(wù)完成后返回結(jié)果。
  2. get(long timeout, TimeUnit unit):獲取任務(wù)的結(jié)果,如果任務(wù)還沒有完成,則最多等待指定的時間(由timeout和unit參數(shù)決定),如果在等待時間內(nèi)任務(wù)完成則返回結(jié)果,否則拋出TimeoutException異常。
  3. cancel(boolean mayInterruptIfRunning):嘗試取消任務(wù)的執(zhí)行。如果任務(wù)已經(jīng)完成或者已經(jīng)被取消,則該方法返回false;如果任務(wù)還沒有開始執(zhí)行,則會嘗試取消任務(wù)的執(zhí)行并返回true;如果任務(wù)正在執(zhí)行,并且mayInterruptIfRunning參數(shù)為true,則會中斷任務(wù)的執(zhí)行并返回true;如果任務(wù)正在執(zhí)行,并且mayInterruptIfRunning參數(shù)為false,則無法取消任務(wù)的執(zhí)行并返回false。
  4. isCancelled():判斷任務(wù)是否被取消。
  5. isDone():判斷任務(wù)是否完成。
  6. run():執(zhí)行任務(wù)。這個方法會在任務(wù)還沒有被執(zhí)行時被調(diào)用。
  7. runAndReset():執(zhí)行任務(wù)并重置任務(wù)的狀態(tài)。這個方法會在任務(wù)還沒有被執(zhí)行時被調(diào)用,并且在執(zhí)行完畢后重置任務(wù)的狀態(tài),使得任務(wù)可以重新執(zhí)行。
  8. set(V result):設(shè)置任務(wù)的結(jié)果,并標(biāo)記任務(wù)已經(jīng)完成。
  9. setException(Throwable throwable):設(shè)置任務(wù)執(zhí)行過程中拋出的異常,并標(biāo)記任務(wù)已經(jīng)完成。
  10. isPeriodic():判斷任務(wù)是否是周期性任務(wù)。這個方法在FutureTask中沒有具體的實現(xiàn),而是在ScheduledFutureTask中有實現(xiàn)。

0