- static void sleep(long ms)
* 当指定时间经过后,线程会重新回到runnable【可运行状态】状态
* 等待分配时间片并发运行.
下面通过简单实例演示
public class ThreadDemo7 {
public static void main(String[] args) {
System.out.println("程序开始了");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("程序结束了");
}
}
sleep使用场景:计时器
/**
* 电子表功能
* @author Cher_du
*
*/
public class ThreadDemo8 {
public static void main(String[] args) {
/*
*循环显示
*每秒钟在控制台输出当前系统时间
*格式:15:17:09
*/
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
while(true){
System.out.println(sdf.format(new Date()));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
总结:经常会用到 Thread.Sleep 函数来使线程挂起一段时间
拓展:Thread.Sleep(0) 用法:
触发操作系统立刻重新进行一次CPU时间片分配竞争,竞争的结果也许是当前线程仍然获得CPU时间片,也许会换成别的线程获得CPU时间片