线程状态 Sleep休眠 Stop停止 yield礼让 Join加入 线程优先级 守护线程 Sleep休眠 //模拟网络延时,方法问题的发生性 public class TestSleep implements Runnable{ //票总数 private int ticketNum = 30; @Override public void run() { while(true){ if (ticketNum<=0){ break; } //模拟延时 try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } //获得当前的线程名称 System.out.println(Thread.currentThread().getName()+"-->拿到了第"+ ticketNum-- + "张票"); } } public static void main(String[] args) { TestThread4 ticket = new TestThread4(); new Thread(ticket,"mlxg").start(); new Thread(ticket,"zsmj").start(); new Thread(ticket,"nmsl").start(); } } import java.text.SimpleDateFormat; import java.util.Date; //模拟倒计时 public class TestSleep2 { public static void main(String[] args) { //打印当前时间 Date nowtime = new Date(System.currentTimeMillis()); while (true) { try { Thread.sleep