当前位置: 首页 > 面试题库 >

以给定的执行时间启动线程

吴伟志
2023-03-14
问题内容

我的主过程调用了一个外部库方法。该方法有时会挂起。我无法修复外部库,因为其他公司对此负责。

我想对定义的执行计时器的库调用使用线程。当方法调用花费很长时间时,放置该方法调用的带有Runnable的线程应该停止,并且主进程应该前进。

  1. 主线程等待
  2. 执行线程
    • 启动启动计时器线程
    • 当计时器线程完成后,杀死执行线程
  3. 执行线程停止主程序
  4. 线程简历

是否有人为此逻辑提供一些代码,我可以使用的设计模式还是可以阅读一些信息的网页?

谢谢


问题答案:

看一下java.lang.concurrentJava 5和更高版本中的软件包,特别是CompletionService接口和实现它的类。

此接口包括允许您提交任务并等待其完成,或在超时后继续执行的调用。



 类似资料:
  • 问题内容: 有没有办法找出自JVM启动以来的时间? 当然,除了在的开始位置附近启动计时器外,因为在我的场景中,我正在编写库代码,并且要求在启动后立即调用某些东西的负担太重。 问题答案: 使用以下代码段: 要么: 这是检索JVM运行时间的 正确 方法。 有关更多信息,请参见http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/Run

  • 我希望在启动Spring boot应用程序时始终运行SQL脚本。我添加了这个液化酶配置: application.yml db。变更日志主机。亚马尔 变更日志。亚马尔 data.yaml data.sql 数据库表应该填充测试数据,但事实并非如此。我看不到日志data.sql文件执行。 你知道问题出在哪里吗?

  • 问题内容: 我想知道是否有一种方法可以像使用bash的.bash_profile或.profile脚本那样在进入python shell时自动运行命令。我想自动导入一些模块,这样我每次跳入shell时都不必键入整个shebang。 谢谢, 问题答案: 是的,你可以使用环境变量来做到这一点所概述这里

  • 问题内容: 我有一个方法,可以写入数据库。要求是确保经过一定时间后该方法不执行。如果在此之前返回,则什么也不做。 我能想到的一种基本方法就是这样做。 这种方法的一个问题是,即使方法在最大总执行时间之前返回,程序也会暂停以等待经过的时间。 我该如何做得更好(或更正确)?如果使用,我们如何找出执行该方法的对象? 问题答案: 您可以通过将工作发送给执行者来做到这一点:

  • 我有一个带有Spring Security微服务的Spring Boot 2,我已使用米计/Spring Actuator配置了该微服务。当我在antMatcher("/驱动器/**")endpoint上permitAll()时,一切都很好。我能够通过正确配置的Prometheus yaml文件检索Prometheus指标。 但是,我的微服务不在防火墙后面,因此对世界开放。我只希望普罗米修斯能够访

  • 我正在我的项目中使用模块,该模块公开了要监视的RESTendpointURL 默认情况下,仅公开 和 终结点。 根据我的使用案例,我正在通过< code > application . properties 文件自定义endpoint。 我想了解,Spring启动究竟在哪里为和创建实际的endpoint,以及它如何通过HTTP公开它们?