我想了解下面的程序.如果我调用new ReaderThread().start()它工作正常,但如果我调用new ReaderThread().run(),应用程序进入无限循环.有什么不同?
public class Contention {
private static boolean ready;
private static int number;
private static class ReaderThread extends Thread {
public void run() {
while (!ready){
System.out.println("ready ..."+ready);
Thread.yield();}
System.out.println(number);
// }
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new ReaderThread().run();
number = 42;
ready = true;
}
}
Run Code Online (Sandbox Code Playgroud)