1 Thread.sleep()
使当前执行的线程在指定的毫秒数内休眠(暂时停止执行),这取决于系统计时器和调度程序的精度和准确性,线程不会丢失任何监视器的所有权。
public class TestThreadSleep {
public static void main(String[] args) {
System.out.println("Main thread begin time = " + System.currentTimeMillis());
MyThread thread = new MyThread();
thread.start();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("end");
}
}
class MyThread extends Thread{
int i = 0;
@Override
public void run() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("MyThread i = " + (i++));
}
}
}
Main thread begin time = 1605079149500
MyThread i = 0
MyThread i = 1
MyThread i = 2
MyThread i = 3
MyThread i = 4
MyThread i = 5
MyThread i = 6
MyThread i = 7
MyThread i = 8
end
MyThread i = 9
MyThread i = 10
MyThread i = 11
MyThread i = 12
...
注意:Thread.sleep() 只是使当前执行的线程在指定的毫秒数内休眠(暂时停止执行)