hbf548

多看源码多读书

0%

线程休眠

  • sleep (时间)指定当前线程阻塞的毫秒数
  • sleep存在异常InterruptedException.
  • sleep时间达到后线程进入就绪状态;
  • sleep可以模拟网络延时,倒计时等。
  • 每一个对象都有一个锁, sleep不会释放锁;

模拟倒计时:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//模拟倒计时
public class TestSleep2 {

public static void main(String[] args) throws InterruptedException {
tenDown();
}

public static void tenDown() throws InterruptedException {
int num = 10;

while (true) {
Thread.sleep(1000);
System.out.println(num--);
if (num <= 0){
break;
}
}
}
}

获取当前时间:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class TestSleep2 {

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());//更新当前时间
}
}
}