についての問題に直面しましたThreadPoolExecutor
。
いくつかのコードを書いた後、メソッドはプログラムによってスローされたsubmit()
ものを食べますが、メソッドは RuntimeException を再スローすることがわかりました。この理由が知りたいです。RuntimeException
execute()
最近、スレッド プールのソース コードを読み、ThreadPoolExecutor
原理を理解しました。メソッドの実行方法は理解execute()
できましたが、メソッドの実行方法は理解できませんでしsubmit()
た。メソッドがorをsubmit()
ラップしてメソッドを呼び出すことだけを知っています。Runnable
Callable
FutureTask
execute()
public Future submit(Runnable runnable)
{
if(runnable == null)
{
throw new NullPointerException();
} else
{
RunnableFuture runnablefuture = newTaskFor(runnable, null);
execute(runnablefuture);
return runnablefuture;
}
}
だから、私の問題は次のとおりです。どのようにThreadPoolExecutor
実行FutureTask
され、なぜRuntimeException
食べられるのですか?