スレッドプールExecutorServiceでのsubmitとexecuteの違い
1、executeはインタフェースExecutorの方法であり、submitはExecutorサブインタフェースExecutorServiceの方法である(ExecutorServiceインタフェースはExecutorインタフェースを継承し、Executorはスレッドプールのトップインタフェースである).
2、受信パラメータが違います.
3、戻り値 execute戻り値 なし submitはfutureを返し、スレッドが返す結果データ を取得することができる.
4、異常処理 executeは直接異常を放出する、スレッドの外部で異常をキャプチャすることができず、この異常をキャプチャするには、UncautheExceptionHandlerインタフェース を実現することができる. submitは例外を投げ出すことなく、戻り値Futureオブジェクトのgetメソッド を呼び出す必要がある.
また、ここではExecutorとExecutorsの違いを説明します. Executorタスクを実行するための「実行者」インタフェースです.正確には、Executerは、コミットされたRunnableタスクを実行するためのexecute()インタフェースを提供します.Executorの目的は、「タスクの発行」と「タスクの実行方法」を分離するメカニズムを提供することです.関数インタフェースは1つしか含まれていません. Executors Executorsは静的ファクトリクラスです.静的ファクトリメソッドを使用して、ExecutorService、S h e d u l edExecutorService、ThreadFactory、Callableなどのクラスのオブジェクトを返します.
2、受信パラメータが違います.
void execute(Runnable command);
Future submit(Callable task);
Future submit(Runnable task, T result);
Future> submit(Runnable task);
3、戻り値
submit() :
1. cancle
2. get()
4、異常処理
また、ここではExecutorとExecutorsの違いを説明します.