了解ExecutorService接口

  • 一個Executor,提供管理終止的方法和可以生成Future以跟蹤一個或多個異步任務(wù)的進(jìn)度的方法猜拾。
  • 可以關(guān)閉一個ExecutorService,這將導(dǎo)致它拒絕新任務(wù)。提供了兩種不同的方法來關(guān)閉ExecutorService烈炭。
  • shutdown方法將允許先前提交的任務(wù)在終止之前執(zhí)行,而shutdownNow方法阻止等待任務(wù)啟動并嘗試停止當(dāng)前正在執(zhí)行的任務(wù)宝恶。終止后符隙,執(zhí)行者沒有正在執(zhí)行的任務(wù)趴捅,沒有等待執(zhí)行的任務(wù),也沒有新的任務(wù)可以提交霹疫。應(yīng)關(guān)閉未使用的ExecutorService以允許回收其資源拱绑。
  • 方法submit通過創(chuàng)建和返回可用于取消執(zhí)行和或等待完成的Future擴(kuò)展了Executor的execute方法。
  • 方法invokeAny和invokeAll執(zhí)行最常用的批量執(zhí)行形式丽蝎,然后等待至少一個或全部完成猎拨。
public interface ExecutorService extends Executor {

    //啟動有序關(guān)閉,其中執(zhí)行先前提交的任務(wù)征峦,但不會接受新任務(wù)迟几。如果已經(jīng)關(guān)閉,調(diào)用沒有額外的效果栏笆。
    //此方法不等待先前提交的任務(wù)完成執(zhí)行类腮。使用awaitTermination來做到這一點。
    void shutdown();

    //嘗試停止所有正在執(zhí)行的任務(wù)蛉加,停止等待任務(wù)的處理蚜枢,并返回等待執(zhí)行的任務(wù)列表。
    //此方法不等待主動執(zhí)行的任務(wù)終止针饥。使用awaitTermination來做到這一點厂抽。
    //除了盡最大努力停止處理正在執(zhí)行的任務(wù)之外,沒有任何保證.
    List<Runnable> shutdownNow();

    //如果此執(zhí)行程序已關(guān)閉丁眼,則返回true筷凤。
    boolean isShutdown();

    //調(diào)用shutdown或shutdownNow后,如果所有任務(wù)都已完成苞七,則返回true藐守。
    boolean isTerminated();

    //在shutdown請求后阻塞,直到所有任務(wù)都完成執(zhí)行蹂风,或者發(fā)生超時卢厂,或者當(dāng)前線程被中斷,以先發(fā)生者為準(zhǔn)惠啄。
    boolean awaitTermination(long timeout, TimeUnit unit)
        throws InterruptedException;

    //提交一個有返回值的任務(wù)以供執(zhí)行慎恒,并返回一個表示該任務(wù)待處理結(jié)果的 Future。 Future 的get方法將在成功完成后返回任務(wù)的結(jié)果撵渡。
    <T> Future<T> submit(Callable<T> task);

    //提交Runnable任務(wù)以執(zhí)行并返回代表該任務(wù)的Future融柬。Future的get方法將在成功完成后返回給定的result。
    <T> Future<T> submit(Runnable task, T result);

    //提交Runnable任務(wù)以執(zhí)行并返回代表該任務(wù)的Future趋距。Future 的get方法將在成功完成后返回null丹鸿。
    Future<?> submit(Runnable task);

    //執(zhí)行給定的任務(wù),返回一個 Futures 列表棚品,在所有完成時保存它們的狀態(tài)和結(jié)果靠欢。
    <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks)
        throws InterruptedException;

    //執(zhí)行給定的任務(wù)廊敌,當(dāng)全部完成或超時到期時,返回保存其狀態(tài)和結(jié)果的 Futures 列表门怪。返回時骡澈,未完成的任務(wù)將被取消。
    <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks,
                                  long timeout, TimeUnit unit)
        throws InterruptedException;

    //執(zhí)行給定的任務(wù)掷空,返回已成功完成的任務(wù)的結(jié)果(即不拋出異常)肋殴。正常或異常返回時坦弟,取消未完成的任務(wù)护锤。
    <T> T invokeAny(Collection<? extends Callable<T>> tasks)
        throws InterruptedException, ExecutionException;

    //執(zhí)行給定任務(wù),超時前返回已成功完成的任務(wù)的結(jié)果(即不拋出異常)酿傍。正忱优常或異常返回時,取消未完成的任務(wù)赤炒。
    <T> T invokeAny(Collection<? extends Callable<T>> tasks,
                    long timeout, TimeUnit unit)
        throws InterruptedException, ExecutionException, TimeoutException;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氯析,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子莺褒,更是在濱河造成了極大的恐慌掩缓,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遵岩,死亡現(xiàn)場離奇詭異你辣,居然都是意外死亡,警方通過查閱死者的電腦和手機尘执,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門绢记,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人正卧,你說我怎么就攤上這事」蚪猓” “怎么了炉旷?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叉讥。 經(jīng)常有香客問我窘行,道長,這世上最難降的妖魔是什么图仓? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任罐盔,我火速辦了婚禮,結(jié)果婚禮上救崔,老公的妹妹穿的比我還像新娘惶看。我一直安慰自己捏顺,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布纬黎。 她就那樣靜靜地躺著幅骄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪本今。 梳的紋絲不亂的頭發(fā)上拆座,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機與錄音冠息,去河邊找鬼挪凑。 笑死,一個胖子當(dāng)著我的面吹牛逛艰,可吹牛的內(nèi)容都是我干的躏碳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瓮孙,長吁一口氣:“原來是場噩夢啊……” “哼唐断!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杭抠,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤脸甘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后偏灿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丹诀,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年翁垂,在試婚紗的時候發(fā)現(xiàn)自己被綠了铆遭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡沿猜,死狀恐怖枚荣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情啼肩,我是刑警寧澤橄妆,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站祈坠,受9級特大地震影響害碾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赦拘,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一慌随、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦阁猜、人聲如沸丸逸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽椭员。三九已至,卻和暖如春笛园,著一層夾襖步出監(jiān)牢的瞬間隘击,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工研铆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留埋同,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓棵红,卻偏偏與公主長得像凶赁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子逆甜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容