Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 锁定var并强制其他线程等待_Java_Multithreading_Swing - Fatal编程技术网

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锁在我所有的类之间共享为什么不对称?为什么要在观察者中锁定锁并在动作侦听器中解锁它?请提供一个。