java线程之sleep方法
- sleep方法指定当前线程阻塞的毫秒数;
- sleep存在异常interInterruptedException需要抛出;
- sleep时间达到后,线程进入就绪状态;
- sleep可以模拟网络延迟,倒计时;
- 每一个对象都有一把锁,sleep不会释放锁;
关于锁的知识,以后会有文章讲到
模拟倒计时的java程序
public class TestSleep{
public static void main(String[] args) throws InterruptedException {
tenDown();
}
//倒计时的方法
public static void tenDown() throws InterruptedException {
int numbers = 10;
while (true){
//模拟延时
Thread.sleep(1000);
System.out.println(numbers--);
if (numbers <= 0){
break;
}
}
}
}
打印当前系统时间程序
public static void main(String[] args) throws InterruptedException {
//打印当前系统时间
Date startTime = new Date(System.currentTimeMillis());//获取当前系统时间
while (true){
Thread.sleep(1000);
System.out.println(new SimpleDateFormat("hh:mm:ss").format(startTime));
startTime = new Date(System.currentTimeMillis());
}
}
运行结果