我正在扩展一个ForkJoinWorkerThread类。它允许重写onTermination(Throwable)方法,在该方法中可以处理强制线程终止的异常。然而,有一个线程。为此目的而设计的UncaughtExceptionHandler。ForkJoinPool允许你两者都使用。处理异常的方式有什么不同吗?
在onTermination中处理异常似乎比为this实现一个新的处理程序要简单得多。
你应该不使用onTermination(Throwable)
处理异常
JavaDoc声明:
执行与此工作线程终止相关的清理。如果重写此方法,则必须调用super。onTermination在被覆盖的方法的末尾。
异常参数的注释:
exception
-异常导致线程由于不可恢复的错误而中止,或者如果正常完成
因此,无论线程是否正常或异常终止,这个方法都会被调用。
你的措辞似乎很奇怪:
我正在实现一个ForkJoinWorkerThread接口。
ForkJoinWorkerThread
是一个具体类,而不是接口。你不能"实现接口",你只能"扩展类"。