zoukankan      html  css  js  c++  java
  • 线程中yield的用法

    yield方法是 Thread类的方法

    /**
    * Causes the currently executing thread object to temporarily pause
    * and allow other threads to execute.
    */
    public static native void yield();

    从注释上来看 

    *使当前正在执行的线程对象暂时暂停
    *并允许其他线程执行。

    写个demo测试一下

    public class TestYield {
    public static void main(String[] args) {
    Thread t1 = new Thread(new Runnable(){
    public void run(){
    System.out.println("开始抢占线程1:"+Thread.currentThread().getName());
    Thread.yield();
    System.out.println("线程运行结束1:"+Thread.currentThread().getName());
    }
    });
    Thread t2 = new Thread(new Runnable(){
    public void run(){
    System.out.println("开始抢占线程2:"+Thread.currentThread().getName());
    System.out.println("线程运行结束2:"+Thread.currentThread().getName());
    }
    });
    t1.start();
    t2.start();
    }
    }

    运行结果:

    开始抢占线程1:Thread-0
    开始抢占线程2:Thread-1
    线程运行结束2:Thread-1
    线程运行结束1:Thread-0

    如果注释掉  Thread.yield();

    开始抢占线程2:Thread-1
    线程运行结束2:Thread-1
    开始抢占线程1:Thread-0
    线程运行结束1:Thread-0

  • 相关阅读:
    根据修改时间来获取文件
    juery学习总结——例子
    juery实现贪吃蛇的游戏
    juery学习总结(二)——juery操作页面元素
    juery学习总结(一)——juery选择器
    装饰器
    58同城招聘_爬虫解码ncs--#&X
    断点调试_PDB
    Nginx入门
    Windows环境下nginx的安装
  • 原文地址:https://www.cnblogs.com/zjf6666/p/9375745.html
Copyright © 2011-2022 走看看