Component.getGraphicsConfigurationスレッドは安全ですか?
-
22-08-2019 - |
質問
あなたはAWTイベントスレッド上にない場合は、呼び出すべきではありません多くの方法があります。これらは、一般的に何らかの方法でUIを操作する方法です。
これはコンポーネントのgetGraphicsConfiguration(...)の場合ですか?それは唯一のゲッターですが、イベントのスレッドがこのメソッドを呼び出したスレッド上で待機している場合には、デッドロックが発生するように見える。
(待機を使用して回避するか、またはイベントスレッドで同期)デッドロックはかなり簡単です解決一方で、私はSwingUtilities.invokeLaterを(...)またはinvokeAndWaitの(...)に渡されたRunnableでgetGraphicsConfigurationを呼ぶべきか?
解決
AWTスレッドの安全性は、(必ずしも)壊れています。ちょうどそれの近くにどこにも行きません。ストレートAWT EDT
に滞在また、この方法はjava.awt.Component
であるという理由だけで、それはオブジェクト(または、それが参照するオブジェクト)はSwingではないので、本当に、まったくスレッドセーフであることをふりをしないという意味ではないことに注意してください。 (十分ざる者?)
所属していません StackOverflow