Java ExecutorService中execute()和submit()方法的區別
- 方法execute()沒有返回值,而submit()方法可以有返回值(通過Callable和Future介面)
- 方法execute()在預設情況下異常直接丟擲(即列印堆疊資訊),不能捕獲,但是可以通過自定義ThreadFactory的方式進行捕獲(通過setUncaughtExceptionHandler方法設定),而submit()方法在預設的情況下可以捕獲異常
- 方法execute()提交的未執行的任務可以通過remove(Runnable)方法刪除,而submit()提交的任務即使還未執行也不能通過remove(Runnable)方法刪除