|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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>
中的 isCancelled
public boolean isDone()
Future
複製的描述
Future<V>
中的 isDone
public boolean cancel(boolean mayInterruptIfRunning)
Future
複製的描述此方法返回後,對 Future.isDone()
的後續調用將始終返回 true。如果此方法返回 true,則對 Future.isCancelled()
的後續調用將始終返回 true。
Future<V>
中的 cancel
mayInterruptIfRunning
- 如果應該中斷執行此任務的執行緒,則為 true;否則允許正在運行的任務運行完成
public V get() throws InterruptedException, ExecutionException
Future
複製的描述
Future<V>
中的 get
CancellationException
- 如果計算被取消
InterruptedException
- 如果當前的執行緒在等待時被中斷
ExecutionException
- 如果計算拋出異常public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
Future
複製的描述
Future<V>
中的 get
timeout
- 等待的最大時間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
中的 run
RunnableFuture<V>
中的 run
Thread.run()
protected boolean runAndReset()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。