Java 多线程基础(七)线程休眠 sleep
一、线程休眠 sleep
sleep() 方法定义在Thread.java中,是 static 修饰的静态方法。
sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/等于该休眠时间;在线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”,从而等待cpu的调度执行。
二、sleep示例
public classSleepTest {private static Object obj = newObject();public static voidmain(String[] args) {
Thread t1= new MyThread("t1");t1.start();
}static class MyThread extendsThread{publicMyThread(String name) {super(name);
}public voidrun() {synchronized(obj) {try{for(int i = 0;i < 5;i++) {
System.out.println(Thread.currentThread().getName()+ "--" +i);if (i % 4 == 0)
Thread.sleep(1000);//i能被4整除时,休眠1秒
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
}</