1、一种最简单的办法就是,将threadPoolExecutor.submit(new DivTask(100,i));改为threadPoolExecutor.execute(new DivTask(100,i)); 或者对submit()方法进行改造。这两种方法都可以得到部分堆栈信息,请看执行结果: 但是,这种方式打印的堆栈信息很有限。如果想知道这个出现异常的任务是哪里提交的?而任务的具体提交...
我们可以通过创建自定义的Thread类,添加堆栈信息打印的功能。具体实现步骤如下: 2.1 创建自定义Thread类 首先,我们创建一个自定义的Thread类,命名为StackTracePrinterThread,继承自Thread类。 publicclassStackTracePrinterThreadextendsThread{@Overridepublicvoidrun(){// 打印堆栈信息的逻辑StackTraceElement[]stackTrace=Thread...