|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.util.concurrent.FutureTask<V>
V - 此 FutureTask 的 get 方法所返回的結果型別。public class FutureTask<V>
可取消的非同步計算。利用開始和取消計算的方法、查詢計算是否完成的方法和獲取計算結果的方法,此類別提供了對 Future 的基本實作。僅在計算完成時才能獲取結果;如果計算尚未完成,則阻塞 get 方法。一旦計算完成,就不能再重新開始或取消計算。
可使用 FutureTask 套件裝 Callable 或 Runnable 物件。因為 FutureTask 實作了 Runnable,所以可將 FutureTask 提交給 Executor 執行。
除了作為一個獨立的類別外,此類別還提供了 protected 功能,這在創建自定義任務類別時可能很有用。
| 建構子摘要 | |
|---|---|
FutureTask(Callable<V> callable)
創建一個 FutureTask,一旦運行就執行給定的 Callable。 |
|
FutureTask(Runnable runnable,
V result)
創建一個 FutureTask,一旦運行就執行給定的 Runnable,並安排成功完成時 get 返回給定的結果 。 |
|
| 方法摘要 | |
|---|---|
boolean |
cancel(boolean mayInterruptIfRunning)
試圖取消對此任務的執行。 |
protected void |
done()
當此任務轉換到狀態 isDone(不管是正常地還是通過取消)時,調用受保護的方法。 |
V |
get()
如有必要,等待計算完成,然後獲取其結果。 |
V |
get(long timeout,
TimeUnit unit)
如有必要,最多等待為使計算完成所給定的時間之後,獲取其結果(如果結果可用)。 |
boolean |
isCancelled()
如果在任務正常完成前將其取消,則返回 true。 |
boolean |
isDone()
如果任務已完成,則返回 true。 |
void |
run()
除非已將此 Future 取消,否則將其設置為其計算的結果。 |
protected boolean |
runAndReset()
執行計算而不設置其結果,然後將此 Future 重置為初始狀態,如果計算遇到異常或已取消,則該操作失敗。 |
protected void |
set(V v)
除非已經設置了此 Future 或已將其取消,否則將其結果設置為給定的值。 |
protected void |
setException(Throwable t)
除非已經設置了此 Future 或已將其取消,否則它將報告一個 ExecutionException,並將給定的 throwable 作為其原因。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public FutureTask(Callable<V> callable)
callable - 可調用的任務。
NullPointerException - 如果 callable 為 null。
public FutureTask(Runnable runnable,
V result)
runnable - 可運行的任務。result - 成功完成時要返回的結果。如果不需要特定的結果,則考慮使用下列形式的建構:Future<?> f = new FutureTask<Object>(runnable, null)
NullPointerException - 如果 runnable 為 null。| 方法詳細資訊 |
|---|
public boolean isCancelled()
Future 複製的描述
Future<V> 中的 isCancelledpublic boolean isDone()
Future 複製的描述
Future<V> 中的 isDonepublic boolean cancel(boolean mayInterruptIfRunning)
Future 複製的描述此方法返回後,對 Future.isDone() 的後續調用將始終返回 true。如果此方法返回 true,則對 Future.isCancelled() 的後續調用將始終返回 true。
Future<V> 中的 cancelmayInterruptIfRunning - 如果應該中斷執行此任務的執行緒,則為 true;否則允許正在運行的任務運行完成
public V get()
throws InterruptedException,
ExecutionException
Future 複製的描述
Future<V> 中的 getCancellationException - 如果計算被取消
InterruptedException - 如果當前的執行緒在等待時被中斷
ExecutionException - 如果計算拋出異常
public V get(long timeout,
TimeUnit unit)
throws InterruptedException,
ExecutionException,
TimeoutException
Future 複製的描述
Future<V> 中的 gettimeout - 等待的最大時間unit - timeout 參數的時間單位
CancellationException - 如果計算被取消
InterruptedException - 如果當前的執行緒在等待時被中斷
ExecutionException - 如果計算拋出異常
TimeoutException - 如果等待逾時protected void done()
protected void set(V v)
v - 值protected void setException(Throwable t)
t - 失敗的原因public void run()
Runnable 中的 runRunnableFuture<V> 中的 runThread.run()protected boolean runAndReset()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。