zoukankan      html  css  js  c++  java
  • Sleep示例分析

        sleep让"当前线程"由“运行状态”进入到“休眠(阻塞)状态”,sleep结束,线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”,从而等待cpu的调度执行。

    示例分析:

    public class TestSleep {
    
        private static final Object lock = new Object();
    
        public static void main(String[] args) {
            SleepThread t1 = new SleepThread("t1");
            SleepThread t2 = new SleepThread("t2");
            t1.start();
            t2.start();
    
            /**
             * sleep让当前线程休眠
             * 让当前线程由“运行状态”进入到“休眠(阻塞)状态”,sleep结束,线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”,从而等待cpu的调度执行。
             * sleep不会释放lock对象的锁
             */
        }
    
        static class SleepThread extends Thread {
    
            public SleepThread(String name) {
                super(name);
            }
    
            @Override
            public void run() {
                synchronized (lock){
                    for (int i = 0; i < 10; i++) {
                        System.err.println(this.getName()+"___"+i);
                        if (i%4==0){
                            System.err.println(this.getName()+"__sleep_"+i);
                            try {
                                sleep(1000);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                }
            }
        }
    }
  • 相关阅读:
    假脱机技术
    HTTP报文
    字符串转换成浮点数的方法
    表变量与临时表空间
    规范浮点数
    什么是批处理
    浅谈性能测试、压力测试和负载测试
    关于CSDN的一个安全漏洞
    HttpWatch7.0测试工具
    vbscript能做什么
  • 原文地址:https://www.cnblogs.com/yangweiqiang/p/9916423.html
Copyright © 2011-2022 走看看