ネットでこれを検索しましたが、まだ答えが見つかりませんでした。多分あなたの誰かがこれを知っています。
私はアプリケーションのようなスイングデスクトップを開発しています。スイングはスレッドセーフではないことがわかっているので(EDTの外部でJComponentのメソッドを呼び出すと、EDT自体でデッドロックが発生する可能性が常にあります)、スレッドによって例外がスローされます。そのメソッドを呼び出そうとしています..もっとよく説明させてください:
EDTとバックグラウンドワーカー(「BW」)の2つのスレッドがあるとします。たとえばJButton.setText()
、またはJButton.setIcon()
BW内で電話をかけると、EDTでデッドロックが発生する可能性があります。さて、BWが呼び出しJButton.setText()
て例外がスローされたときに、私が非常に間違っていることを示したいと思います。
VS2008のC#がデフォルトでこれを実行していることがわかります(この動作を無効にする方法があるかどうかはわかりませんが、不正なコードを検出することは非常に便利だと思います)。Javaで同様の効果を達成する方法はありますか?