gpt4 book ai didi

java - while 循环还是 Thread.sleep()?

转载 作者:行者123 更新时间:2023-11-30 10:46:18 26 4
gpt4 key购买 nike

我正在用 Java 编写游戏,并将 FPS 限制为 60。我想出了 2 种不同的方法来获得相同的结果,但我想知道其中哪种方法更好/更干净。或者您可能有不同的想法。

while(System.nanoTime() - thisFrame < fps_limit);

Thread.sleep(sleepingTime);

我的想法是 while 循环Thread.sleep 对 CPU 的影响更大,对吗?

预先感谢您的帮助!

Dom

最佳答案

您有以下主要选择:

  1. While 循环 - 这会消耗 CPU 周期,并且通常实际上会停止系统,因为当你在循环时,其他线程无法运行(在单核机器上)。
  2. Thread.sleep() - 这可能有效,但您需要记住,不能保证等待指定的时间。
  3. DelayQueue - 更新。更好/准确的时间安排。
  4. ScheduledThreadPoolExecutor - 仍然比 DelayQueue 更新。使用线程池

关于java - while 循环还是 Thread.sleep()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36626914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com