zoukankan      html  css  js  c++  java
  • Java多线程学习——sleep和yield

    Thread.sleep();
    Thread.yield();

    相同点:

    • 让线程暂停运行。
    • 都是静态方法,可以直接调用。

    不同点:

    • sleep让线程从运行状态进入阻塞状态,但是不放开手中的资源。
    • yield让线程从运行状态进入就绪状态,释放手中资源,再次等到CPU调度。
    public class Test{
    
        public static void main(String[] args) throws InterruptedException {
            //开启子线程
            new Thread(()->{
                for (int i = 0; i < 100; i++) {
                    System.out.println("子线程"+i);
                }
            }).start();
            //开启主线程,每循环10次进行yield
            for (int i = 0; i < 100; i++) {
                Thread.sleep(200);
                //    Thread.yield();
                System.out.println("主线程"+i);
            }
        }
    
    }
  • 相关阅读:
    吉他 摄影
    前端思考独处时间自我成长
    约束力
    js算法
    旅行计划
    生产者消费者问题
    Lock锁
    线程和进程
    什么是JUC
    GC日志分析和垃圾回收器的新展望
  • 原文地址:https://www.cnblogs.com/chiweiming/p/11095093.html
Copyright © 2011-2022 走看看