在 Java 程序中创建暂停或等待效果



我正在用Java编写一个简单的钓鱼模拟器游戏。我希望每次演员表后都有一个随机生成的等待时间。当等待结束时,会发生一个随机事件(一条鱼会被抓住,一条鱼会用你的诱饵,等等)。我听说过很多关于 Thread.sleep() 的坏事,并且想知道在这种情况下什么最适合我。

目前我正在使用这样的东西

Random random = new Random();
long time = System.currentTimeMillis();
long difference = random.nextInt(9000);
boolean timeMet = false;
while(!timeMet){
   if((time + difference) <= System.currentTimeMillis())
      timeMet = true;
}
return event;

您可以考虑使用SwingTimer。

看看这个类似的帖子。

关于Thread.sleep是否不好的话题,请查看这篇文章。

你听说过Thread.sleep(millis)什么不好? 使用 CPU 保持忙碌一段时间是非常浪费的。

只需使用Thread.sleep(difference);

最新更新