class Person1 extends Thread{
public void run(){//
for(int i=0;i<100;i++){
System.out.println("新手学java");
Thread.yield();
Thread main = Thread.currentThread();
System.out.println(main.getId()+","+main.getName());
} }
}
定义了一个类 在main方法输出后 System.out.println(main.getId()+","+main.getName());
这指令为什么能执行呢 Thread.yield(); 线程不是由running到runnable状态啊
public void run(){//
for(int i=0;i<100;i++){
System.out.println("新手学java");
Thread.yield();
Thread main = Thread.currentThread();
System.out.println(main.getId()+","+main.getName());
} }
}
定义了一个类 在main方法输出后 System.out.println(main.getId()+","+main.getName());
这指令为什么能执行呢 Thread.yield(); 线程不是由running到runnable状态啊
让线程暂时停止可以选择sleep方法。比如Thread.sleep(1000),当前线程睡眠1秒。需要知道的是,1秒后,线程是回到可执行状态,并不是执行状态,什么时候执行那是由虚拟机来决定的。所以sleep(1000)并不是在睡眠1秒后立即执行。
我意思是说程序按顺序执行 到 Thread,yield();会不会跳出去了 就不执行下面的那个输出了