我正在用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。
看看这个[类似的帖子](http://codingdict.com/questions/144953。
关于Thread.sleep是否有害,请查看这篇文章。