public class RunnableThreadExample implements Runnable {
public int count = 0;
public static void main(String[] args) {
RunnableThreadExample instance = new RunnableThreadExample();
Thread thr = new Thread(instance);
thr.start();
while(instance.count != 5) {
try {
Thread.sleep(500);
System.out.println(" Within main method");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void run() {
while(count < 5) {
try {
System.out.println("Sleeping for 500 seconds within run method");
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
count++;
}
}
}
我注意到 Sys out within main 方法同时运行,而 Sys out within run ( ) 方法被执行。
The output looks as follows:
Sleeping for 500 seconds within run method
Sleeping for 500 seconds within run method
Within main method
Sleeping for 500 seconds within run method
Within main method
Within main method
Sleeping for 500 seconds within run method
Sleeping for 500 seconds within run method
Within main method
Within main method
Within main method
当我们调用 thr.start() 时,不应该在 run() 处完成执行,然后回到 while(instance.count != 5) { ??
回首忆惘然
慕沐林林
随时随地看视频慕课网APP
相关分类