zoukankan      html  css  js  c++  java
  • java 线程状态

    Thread类内的State枚举描述了线程的状态:

    public enum State {
        NEW, // 线程还没有启动
        RUNNABLE, // 正在运行
        BLOCKED, // 等待监视器锁。在同步代码块外面阻塞住了
        WAITING, // 等待Object.notify(),调用Object.wait()后的状态
        TIMED_WAITING, //调用Object.wait(1000)或者Thread.sleep(1000)后的状态
        TERMINATED; //结束
    }

    代码示例打印线程状态:

    public static void main(String[] args) {
        final Object obj = new Object();
        
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                synchronized(obj) {
                    System.out.println(Thread.currentThread().getName());
                    try {
                        // TIMED_WAITING
                        // Thread.sleep(5000);
                        
                        // WAITING
                        obj.wait();
                    } catch (InterruptedException e) {}
                    
                }
            }
        });
    
        Thread thread2 = new Thread(new Runnable() {
            @Override
            public void run() {
                //线程阻塞在synchronized代码块外,为blocked
                synchronized(obj) {
                    System.out.println(Thread.currentThread().getName());
                    try {
                        // TIMED_WAITING
                        obj.wait(1000);
                    } catch (InterruptedException e) {}
                    
                }
            }
        });
        
        thread.start();
        thread2.start();
        
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {}
        System.out.println(thread.getName() + "," + thread.getState());
        System.out.println(thread2.getName() + "," + thread2.getState());
    }
  • 相关阅读:
    Python闭包
    使用python在极坐标中生成一条直线
    使用python生成c文件模板
    使用python转换markdown to html
    使用python转换编码格式
    安装PyQt5和Eric6
    2.深入剖析地址转化
    1.MMU功能解析
    37.C与汇编混合编程
    36.从汇编到C(bl1到bl2)
  • 原文地址:https://www.cnblogs.com/allenwas3/p/8505945.html
Copyright © 2011-2022 走看看