线程——让步

本文探讨了Java中线程让步的概念,通过实例解释了如何使用Thread.yield()方法来实现线程间的礼让。实验表明,当A线程加入Thread.yield()后,B线程将获得更多的执行机会,从而改变了默认时间片的均衡分配。
摘要由CSDN通过智能技术生成

让步: 运用Thread.yield()可以实现让步功能;
举例子:A、B两个线程,A让步,则B可以多执行一些,得到的时间片多一些。(未让步前,两个线程分配的时间一般是相等的)

package abcd;

class T1 extends Thread{
    T1(){
        this.setName("线程1");
    }
    @Override
    public void run(){
        while (true) {
            System.out.println(this.getName());
        }
    }
}
class T2 implements Runnable{
    @Override
    public void run(){
        while (true) {
            System.out.println(Thread.currentThread().getName());
        }
    }
}


public class 让步自测 {
    //首先 创建两个线程
    public static void main(String[] args) {
        T1 aaa=new T1();
        aaa.start();
        T2 bbb = new T2();
        Thread ccc =new Thread(bbb);
        ccc.start();
    }
}

结果得知,两者的执行次数是近似相同的
A线程中加入Thread.yield();

package abcd;

class T1 extends Thread{
    T1(){
        this.setName("线程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值