多线程之线程休眠

模拟网络延时
 package com.yeyue.demo01;
 
 //模拟网络延时,放大问题的发生性
 public class TestSleep1 implements Runnable{
 
     //票数
     private int ticketNums =10;
 
     @Override
     public void run() {
         while (true){
             if(ticketNums <= 0){
                 break;
            }
             try {
                 Thread.sleep(200);
            } catch (InterruptedException e) {
                 e.printStackTrace();
            }
             System.out.println(Thread.currentThread().getName()+"-->拿到了第"+ticketNums--+"票");
        }
    }
 
     public static void main(String[] args) {
         TestThread4 ticket = new TestThread4();
 
         new Thread(ticket,"小明").start();
         new Thread(ticket,"老师").start();
         new Thread(ticket,"黄牛党").start();
    }
 }
模拟倒计时
 package com.yeyue.demo01;
 
 public class TestSleep2 {
 
     public static void main(String[] args) {
         try {
             tenDown();
        } catch (InterruptedException e) {
             e.printStackTrace();
        }
    }
 
     public static void tenDown () throws InterruptedException {
         int num = 10;
         while (true){
             Thread.sleep(1000);
             System.out.println(num--);
             if(num<=0){
                 break;
            }
        }
    }
 }
实时获取当前时间
 package com.yeyue.demo01;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
 public class TestSleep2 {
 
     public static void main(String[] args) {
         Date startTime = new Date(System.currentTimeMillis()); //获取当前系统时间
 
         while(true){
             try {
                 Thread.sleep(1000);
                 System.out.println(new SimpleDateFormat("HH:mm:ss").format(startTime));
                 startTime = new Date(System.currentTimeMillis()); //更新当前时间
            } catch (InterruptedException e) {
                 e.printStackTrace();
            }
        }
    }
 
     public static void tenDown () throws InterruptedException {
         int num = 10;
         while (true){
             Thread.sleep(1000);
             System.out.println(num--);
             if(num<=0){
                 break;
            }
        }
    }
 }

 

posted @ 2021-06-28 14:51  深夜暗月  阅读(155)  评论(0)    收藏  举报