首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Thread.sleep() / robot.delay()更准确?

Thread.sleep() / robot.delay()更准确?
EN

Stack Overflow用户
提问于 2020-08-29 23:43:15
回答 1查看 110关注 0票数 0

我想使用Robot类为在线游戏编写一个机器人。我现在的问题是,Thread.sleep()或robot.delay()方法太不准确了。在游戏之外,它们工作得非常好,偏差大约只有2-3毫秒。但当游戏处于焦点位置时,这些方法的偏差为+5 - +20毫秒甚至更多。令人遗憾的是,这足以让我的机器人无法使用。有没有办法让这些方法更准确呢?或者,有没有其他方法来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2020-08-30 00:03:14

没有区别

如果对JDK执行browse the sourceRobot.delay()最终会调用Thread.sleep()

代码语言:javascript
复制
public void delay(int ms) {
    checkDelayArgument(ms);
    Thread thread = Thread.currentThread();
    if (!thread.isInterrupted()) {
        try {
            Thread.sleep(ms);
        } catch (final InterruptedException ignored) {
            thread.interrupt(); // Preserve interrupt status
        }
    }
}

你也许可以给Java进程一个比游戏更高的优先级,任务在交给调度器之后可能会执行得更快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63648846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档