<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 1. Future接口 是對于具體的Runnable或者Callable任務的執行結果進行**取消**、**查詢是否完成**、**獲取結果** 。必要時可以通過get方法獲取執行結果,該方法會阻塞直到任務返回結果。 接口中有5中方法: 1. **cancel(boolean mayInterruptIfRunning)** 方法用來取消任務,如果取消任務成功則返回true,如果取消任務失敗則返回false。 參數mayInterruptIfRunning表示是否允許取消正在執行卻沒有執行完畢的任務,如果設置true,則表示可以取消正在執行過程中的任務。如果任務已經完成,則無論mayInterruptIfRunning為true還是false,此方法肯定返回false,即如果取消已經完成的任務會返回false;如果任務正在執行,若mayInterruptIfRunning設置為true,則返回true,若mayInterruptIfRunning設置為false,則返回false;如果任務還沒有執行,則無論mayInterruptIfRunning為true還是false,肯定返回true。 2. **isCancelled()** 方法表示任務是否被取消成功,如果在任務正常完成前被取消成功,則返回 true。 3. **isDone()** 方法表示任務是否已經完成,若任務完成,則返回true; 4. **get()** 方法用來獲取執行結果,這個方法會產生阻塞,會一直等到任務執行完畢才返回; 5. **get(long timeout, TimeUnit unit)** 用來獲取執行結果,如果在指定時間內,還沒獲取到結果,就直接返回null。可用在任務超時控制的情形。 ## 2. FutureTask 它是Future具體實現類。 ~~~ public class FutureTask<V> implements RunnableFuture<V> { ~~~ FutureTask類實現了RunnableFuture接口,RunnableFuture接口的實現: ~~~ public interface RunnableFuture<V> extends Runnable, Future<V> { ~~~ 所以FutureTask除了實現了Future接口外還實現了Runnable接口,因此FutureTask也可以直接提交給Executor執行。 當然也可以調用線程直接執行(FutureTask.run())。 ## 3. 用例
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看