總結execute()和submit()方法的區別:


總結execute()和submit()方法的區別:

  1. 接收的參數不一樣;

  2. submit()有返回值,而execute()沒有;

    例如,有個validation的task,希望該task執行完后告訴我它的執行結果,是成功還是失敗,然后繼續下面的操作。

  3. submit()可以進行Exception處理;execute()直接拋出了異常,但它也僅僅是輸出而已,我們無法使用日志框架對其進行記錄,因為它這個打印動作我們是不可控的。

    例如,如果task里會拋出checked或者unchecked exception,而你又希望外面的調用者能夠感知這些exception並做出及時的處理,那么就需要用到submit,通過對Future.get()進行拋出異常的捕獲,然后對其進行處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM