2009-03-26 9 views
1

AWTイベントスレッドを使用していない場合は、呼び出さないでください。これらは一般に、何らかの方法でUIを操作するメソッドです。Component.getGraphicsConfigurationはスレッドセーフですか?

これはコンポーネントのgetGraphicsConfiguration(...)の場合ですか?これはゲッターだけですが、イベントスレッドがこのメソッドを呼び出すスレッドで待機している場合にデッドロックが発生するようです。

SwingUtilities.invokeLater(...)またはinvokeAndWait(...)に渡されたRunnableでgetGraphicsConfigurationを呼び出すだけで、デッドロックを解決するのはかなり簡単です(イベントスレッドで待機または同期を使用しないでください)。

答えて

1

AWTスレッドセーフは(必然的に)壊れています。近くのどこにも行かないでください。ストレートAWT EDT

また、メソッドがjava.awt.Componentであるという理由だけで、オブジェクト(またはそのオブジェクトによって参照されるオブジェクト)がSwingにないことを意味するわけではなく、まったく安全です。 (十分ではありませんか?)

+0

er ...だから、私がイベントスレッドにいるときには、はいを使用するだけです。 –

+0

私はそうすることをお勧めします。 –

関連する問題