当前位置: 首页 > 知识库问答 >
问题:

ThreadPoolExecutor中如何实现提交方法吞下异常,但执行-不执行

何越
2023-03-14

提交并执行。

据我所知-主要区别如下:

提交返回future,如果我们可以观察到调用后任务中发生的exeption

future.get();
public Future<?> submit(Runnable task) {
    if (task == null) throw new NullPointerException();
    RunnableFuture<Void> ftask = newTaskFor(task, null);
    execute(ftask);
    return ftask;
}

共有1个答案

郎泰平
2023-03-14

您的任务是一个未来任务

如果查看run方法的源代码(grepcode):

try {
    result = c.call();
    ran = true;
} catch (Throwable ex) {
    result = null;
    ran = false;
    setException(ex);
}

您会看到所有throwable都在这里被吞掉。

 类似资料:
  • 问题内容: 我发现有两种方法(提交和执行)将Runnable添加到线程池中,有什么区别? 问题答案: 区别在于,它不会返回,因此您不能等待的完成并获得使用它引发的任何异常。

  • 本文向大家介绍python执行get提交的方法,包括了python执行get提交的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python执行get提交的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 我编写了一个简单的注释和一个AnnotationProcessor来处理注释。 注释只有一个值:它应该是现有接口(带有包)的名称。 注释处理器应该检索注释的值,检索接口的类对象,最后应该打印接口中声明的所有方法。 例:这是我的注解 这是带注释的类: 我的处理器看起来像 现在,如果我配置一个像java.lang.CharSequence这样的接口作为MyAnnoation的接口名称,这个工作原理很好

  • 问题 问题是,在使用Maven构建项目的每一个版本中,该版本随机生成一个工作的jar或一个坏掉的jar。显然,在代码和配置方面都没有任何变化。 我说的破碎是什么意思? 破罐子。作业开始和结束都是正确的,没有例外,没有任何类型的回滚,并且CrudRepository的所有保存方法都执行得很好。问题是,即使我在日志中看到select语句来为INSERT提取序列的下一个值,也不会记录INSERT。检查数

  • 问题内容: 我在理解同步关键字功能时遇到了一些麻烦。根据Java文档和其他教程,可以说,当使用synced关键字时,在两个线程之间不可能在该方法的语句之间进行交织。 但是,请参见下面的代码。 据我了解,程序输出应始终以线程0和线程1不应交错的方式进行。但是多次执行这段代码后,我得到了交错输出。 请帮助我理解问题。 提前致谢.. 问题答案: 的关键字防止两个线程运行的是在同一对象上同步代码。 您的每

  • 本文向大家介绍如何在TestNG中实现并行执行?,包括了如何在TestNG中实现并行执行?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助TestNG实现并行执行。TestNG中有一个并行属性,用于此实现。TestNG中的并行执行与另一个称为thread-count的属性相关联。 parallel属性可以具有以下列出的值- 方法。 类。 执行个体 测验 示例 Testng xml文件。 对于