Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java线程状态

作者:幸福的起点   发布日期:2025-02-22   浏览:90

// Java线程状态示例代码

public class ThreadStatesExample {

    public static void main(String[] args) throws InterruptedException {
        // 创建一个线程
        Thread thread = new Thread(() -> {
            try {
                // 线程进入运行状态
                System.out.println("Thread is running...");
                Thread.sleep(5000); // 线程进入等待/阻塞状态
                System.out.println("Thread woke up...");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });

        // 线程初始状态为新建(New)
        System.out.println("Thread state: " + thread.getState());

        // 启动线程,线程进入就绪(Runnable)状态
        thread.start();

        // 让主线程稍作等待,以观察其他线程状态
        Thread.sleep(100);

        // 打印线程的当前状态
        System.out.println("Thread state after starting: " + thread.getState());

        // 等待子线程执行完毕
        thread.join();

        // 打印线程的最终状态
        System.out.println("Thread state after joining: " + thread.getState());
    }
}

解释说明:

  1. 新建状态 (New):线程对象被创建但尚未启动时的状态。
  2. 就绪状态 (Runnable):线程已经启动并准备好运行,等待CPU调度。
  3. 运行状态 (Running):线程正在执行其任务。
  4. 等待/阻塞状态 (Timed_Waiting 或 Waiting):线程在等待某个条件发生,如调用 sleep 方法或等待锁。
  5. 终止状态 (Terminated):线程的任务执行完毕或因异常而结束。

通过这段代码,你可以看到线程从新建到终止的各个状态变化。

上一篇:java匿名内部类

下一篇:java遍历map获取key value

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站