Thread.sleep()方法面试题
问 : 程序中的 thread.sleep(1000*5) 会让线程thread进入休眠状态吗
答 : 答案在程序末尾
public class ThreadTest05 {
public static void main(String[] args) {
// 创建线程对象
Thread thread = new MyThread3();
thread.setName("t");
thread.start();
// 调用sleep方法
try {
// 会让线程thread进入休眠状态吗 ?
thread.sleep(1000*5);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Hello World");
}
}
class MyThread3 extends Thread{
@Override
public void run() {
for (int i = 0; i < 10000; i++) {
System.out.println(Thread.currentThread().getName() +"==>" + i);
}
}
}
// 答 : 不会让t进入休眠,因为sleep是静态方法,和对象没关系,和对象thread,以上程序运行时,thread.sleep()还是会转换成Thread.sleep()
// thread.sleep 的作用是 : 让当前线程进入休眠,也就是说main线程进入休眠
// 5秒之后Hello World才会执行