hooyantsing's Blog

12_线程休眠_sleep

字数统计: 202阅读时长: 1 min
2020/08/21

12 线程休眠_sleep

狂神说Java 多线程详解

线程休眠

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

    案例

模拟倒计时

  • 10s倒计时
  • 系统时间
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    package demo2;

    import java.text.SimpleDateFormat;
    import java.util.Date;

    /**
    * 模拟倒计时
    */
    public class TestSleep {

    public static void main(String[] args) throws InterruptedException {
    // 10s倒计时
    tenDown();
    // 系统时间
    systemTimeDown();
    }

    public static void tenDown() throws InterruptedException {
    int num = 10;
    while (true){
    System.out.println(num--);
    if(num <= 0){
    break;
    }
    Thread.sleep(1000);
    }
    }

    public static void systemTimeDown() throws InterruptedException {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
    while (true){
    Date startTime = new Date(System.currentTimeMillis());
    System.out.println(simpleDateFormat.format(startTime));
    Thread.sleep(1000);
    }
    }
    }
CATALOG
  1. 1. 12 线程休眠_sleep
    1. 1.1. 线程休眠
      1. 1.1.1. 案例