gpt4 book ai didi

java - Java中的线程优先级

转载 作者:行者123 更新时间:2023-12-01 12:49:35 25 4
gpt4 key购买 nike

我在我的应用程序中遇到问题,有时当两个线程将鼠标移动到屏幕的某些 (X,Y) 坐标时,线程有时会尝试同时执行此操作(到不同的 (X,Y) ),导致持续几秒钟的之字形。

更改我的一个线程的线程优先级以提高是否可以解决此问题,或者我应该添加 AtomicBoolean 来解决此问题吗? (AtomicBoolean 的问题是,我需要 AtomicBoolean 来完成很多很多事情,因为在两个线程中都有许多不同的函数调用鼠标移动)

最佳答案

如果您在多个线程之间使用单个鼠标对象,则它们应该在应一次性处理的部分上使用同步{} block 。需要该对象的其他线程如果到达类似的同步块(synchronized block),就会等待。

run() {
synchronize (mouse) {
mouse.move();
mouse.click();
mouse.move();
etc();
}
otherStuff();
}

只要确保您的同步块(synchronized block)不会太大,以免一个线程独占使用鼠标的时间。它的外观取决于您的应用程序。

关于java - Java中的线程优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24336694/

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