メイン オブジェクト (Swing GUI を含む) と、オブジェクトの handle() メソッドを呼び出すサポート スレッドを備えたアプリがあります。
スレッドが handle() メソッドを使用している間、handle() メソッドが同期されると、メイン オブジェクトの GUI が応答しないことに気付きました。コード:
public synchronized void handle()){
//method code
}
handle() から synchronized キーワードを削除すると、スレッドが handle() メソッドを使用している場合でも、GUI は応答します。
注目すべき興味深い点は、別のオブジェクトをロックとして使用すると、スレッドが handle() メソッドを使用しているときに GUI が再び応答するようになることです。コード:
public void handle(){
synchronized(anotherObj){
//method code
}
}
これは、Swing GUI が同期されたメソッドを使用していることを示唆しています。私は正しいですか?お気軽にリソースを教えてください。欲しいものがまったく見つかりませんでした。
ありがとう。