gpt4 book ai didi

java - Java 线程何时存活?

转载 作者:太空狗 更新时间:2023-10-29 22:32:51 25 4
gpt4 key购买 nike

这是一个关于 Java 线程词汇表的非常基本的问题。

我看不到任何可能的重复项,但可能存在。

这个词是什么意思alive 在 Oracles 文档中引用?

run()方法还没有完成还是其他参数?

最佳答案

根据您提到的 Javadoc:

A thread is alive if it has been started and has not yet died.

一个线程在其 start() 方法被调用时“启动”,并在其 run() 方法结束时“死亡”,或者当 stop 时()(现已弃用)被调用。所以,是的,当一个线程的 run() 方法仍在进行时它是“活跃的”,但在 start() 调用之间的时间窗口中它也是“活跃的” > 以及 JVM 对 run() 方法的隐式调用。

您还可以检查 Thread.getState()interesting information about Thread States由@Marou Maroun 建议。

我也遵循他的建议,警告您线程可能会过早结束,以防抛出传播到 run 之外的异常。在那种情况下,线程将不再存在。

编辑:正如@zakkak 所建议的,即使 run() 方法尚未启动,线程也可以被认为是活跃的。如果您想适当控制何时调用它,请使用 ScheduledExecutorService ,特别是 schedule()为您提供更精确的执行计划的方法。

关于java - Java 线程何时存活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com