java线程sleep方法

本文详细介绍了Thread类的静态方法sleep(毫秒数)的使用方式,特别是在游戏开发中如何利用它来实现每30ms刷新一次游戏画面的效果。通过实例代码展示了如何在游戏循环中合理使用sleep方法来优化游戏性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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("恢复运行");
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值