sleep(毫秒数)是Thread类的静态方法。
使用时:Thread.sleep(毫秒数);
如Thread.sleep(1000),表示该线程睡眠1秒钟,之间此线程什么都不做。等1秒钟之后,继续余下代码执行。
备注:线程是没有保证的,也许1秒钟之后,该线程没有转为可运行状态,也是可能的。
实际应用举例:
在游戏开发中,sleep一般用在游戏循环中,例如:
void run(){//游戏主线程的执行
while(游戏中){
执行游戏逻辑
sleep(30);
repaint();//刷新屏幕
}
}
这样 每30ms就会刷新一次游戏画面
示例代码:
1、先定义一个Wait类
package com.pb.thread.demo;
/**
* Sleep方法的作用:
* 1.将当前线程挂起(当前的线程暂停执行),并阻塞指定的时间;
* 2.当前线程挂起后,就会释放系统资源。
* @author ghp
*
*/
public class Wait {
//指定线程睡眠S秒
public static void bySec(long s){
for(int i=0;i<s;i++){
System.out.println(i+1+"秒");
try {
//睡眠1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
2、定义一个测试类
package com.pb.thread.demo;
public class TestWait {
public static void main(String[] args) {
System.out.println("开始等待");
//让主线程等待5秒
Wait.bySec(5);
//恢复线程
System.out.println("恢复运行");
}
}