Java 锁定var并强制其他线程等待
我试图强制我的线程等待一个变量的解锁 在我的无限游戏循环中Java 锁定var并强制其他线程等待,java,multithreading,swing,Java,Multithreading,Swing,我试图强制我的线程等待一个变量的解锁 在我的无限游戏循环中 notifyObserver(); lock.lock(); try { } finally { lock.unlock(); } 旁观者 public void actualize() { lock.lock(); ... } 按钮动作代码 button.addActionListener(new ActionListener() { @Override public void act
notifyObserver();
lock.lock();
try {
} finally {
lock.unlock();
}
旁观者
public void actualize() {
lock.lock();
...
}
按钮动作代码
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
_game.setCategory(button.getCategory());
lock.unlock();
}
});
我试过了,但不管用。我有一个观察员
<>我在C++方面有更多的经验,也许这不是一个好的方法来尝试锁定VAR。不完全理解你的整个逻辑。但是我认为最好在单个类中使用锁来保护共享资源,而不是在所有的类中都使用锁。var锁在我所有的类之间共享为什么不对称?为什么要在观察者中锁定锁并在动作侦听器中解锁它?请提供一个。