【问题标题】:Need to configure main thread execution time需要配置主线程执行时间
【发布时间】:2014-08-21 07:12:11
【问题描述】:

我有一个多线程应用程序,大约需要 1 小时才能完全完成。我想配置一些东西,以便在一个小时后如果整个执行未完成(即主要未完成)我需要在日志中发出警报。可以通过什么方式进行配置。

【问题讨论】:

    标签: java multithreading main


    【解决方案1】:

    使用ScheduledExecutorService 安排命令在给定时间段后运行。然后,您可以编写一个方法来记录消息并将其连接到 ScheduledExecutorService

    【讨论】:

      【解决方案2】:

      你需要一个CountDownLatch

      跟踪您创建的线程总数并将锁存器中的插槽数初始化为该数。将对锁存器的引用传递给每个线程。在 finally 块中,在子线程代码的末尾,您应该在线程终止之前调用countdown()

      在您的主线程中,启动所有线程后,您调用await() 方法。 (可选)您可以传递超时,此时您可以强制终止子线程,或调用 system.exit 或其他方法。

      【讨论】:

        猜你喜欢
        • 2013-12-17
        • 2021-06-16
        • 1970-01-01
        • 1970-01-01
        • 2015-09-05
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多