让步: 运用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("线程