You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未重写Thread类run方法的结果及线程状态变化问题

未重写Thread类run方法的执行结果与线程状态变化
  • 执行结果:调用线程的start()方法后,会执行Thread类自带的默认run()方法。默认实现逻辑是判断是否传入了Runnable类型的target对象,如果没有传入(既没重写run方法也没传入Runnable实例),这个方法会直接执行完毕,不会运行任何自定义业务逻辑。

    Thread类默认run方法核心逻辑简化:

    public void run() {
        if (target != null) {
            target.run();
        }
    }
    
  • 线程状态变化:

    • 调用start()前,线程处于NEW状态;
    • 调用start()后,线程会先进入**Runnable(就绪)**状态,等待CPU分配时间片;
    • 获得CPU时间片后进入**Running(运行)**状态,执行默认的run()方法;
    • 方法执行完毕后,线程转为**Terminated(终止)**状态。
      不会直接从NEW状态跳转到Terminated状态,必须经过就绪、运行阶段。

内容的提问来源于stack exchange,提问作者Lov Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:42:35