ExecutorService之submit與execute
ExecutorService的submit與execute方法都能執行任務,但在使用過程,發現其對待run方法丟擲的異常處理方式不一樣。
兩者執行任務最後都會透過Executor的execute方法來執行,但對於submit,會將runnable物件包裝成FutureTask
而對於execute方法,則會直接丟擲異常,該異常不能被捕獲,想要在出現異常時做些處理,可以實現Thread.UncaughtExceptionHandler介面:
點選(此處)摺疊或開啟
-
class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler{
-
public void uncaughtException(Thread t, Throwable e) {
-
System.out.println(\"caught \"+e);
-
}
-
}
-
-
class HandlerThreadFactory implements ThreadFactory{
-
public Thread newThread(Runnable r) {
-
Thread t=new Thread(r);
-
t.setUncaughtExceptionHandler(new MyUncaughtExceptionHandler());
-
return t;
-
}
-
}
-
- ExecutorService exec=Executors.newCachedThreadPool(new HandlerThreadFactory())
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-762175/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java執行緒池中的execute和submitJava執行緒MIT
- Java中ExecutorService與CompletableFuture指南Java
- 血的教訓--如何正確使用執行緒池submit和execute方法執行緒MIT
- ExecutorService DiscardPolicy
- ExecutorService介面概要
- ExecutorService 併發指南
- jQuery :submitjQueryMIT
- Android執行緒管理之ExecutorService執行緒池Android執行緒
- 在QTP中使用Eval與ExecuteQT
- 為ExecutorService增加shutdown hookHook
- 【Java】A Guide to the Java ExecutorServiceJavaGUIIDE
- ExecutorService併發功能教程
- SUBMIT 的用法MIT
- JavaScript submit 事件JavaScriptMIT事件
- jQuery submit事件jQueryMIT事件
- Sprk submit 過程MIT
- The Execute Disable/No Execute CPU feature is not enabled for this machineMac
- 只有存在submit提交按鈕form的submit事件才會觸發MITORM事件
- HTML input submit 按鈕HTMLMIT
- ExecutorService shutdown()和shutdownNow()方法區別
- VMware: ESXi requires the Execute Disable/No Execute CPU feature to be enabledUI
- java cmd executeJava
- azkaban叢集模式安裝與execute-as-user配置模式
- 【原創】Oracle execute plan 原理分析與例項分享Oracle
- button和submit的區別MIT
- 多執行緒程式設計ExecutorService用法執行緒程式設計
- rs.open與connection.execute(sql)的區別SQL
- Execute to Parse 指標指標
- HTML input submit和reset按鈕HTMLMIT
- spark-submit 提交的引數SparkMIT
- Java實戰001-執行緒池ExecutorServiceJava執行緒
- app:processReleaseResources, Failed to execute aaptAPPAIAPT
- 理解EXECUTE_TO_PARSE(二)
- 理解EXECUTE_TO_PARSE(一)
- EXECUTE IMMEDIATE dynamic sql in procedureSQL
- SQL can execute in wrong SchemaSQL
- js 中的submit 回撥函式JSMIT函式
- Apache Spark技術實戰之6 -- spark-submit常見問題及其解決ApacheSparkMIT