invokeLater() Runnable で同期性を確保する必要があるかどうか疑問に思っていました。
デッドロックが発生しており、並行性を維持しながらそれを克服する必要があります。
これは良いコードの例ですか?:
private String text;
private void updateText()
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
synchronized(FrameImpl.this)
{
someLabel.setText(text);
}
}
});
}
text
かなり悪い例で申し訳ありませんが、は別のスレッドによって変更されており、注入できず、正しい値に依存していると想定する必要があります。
これは適切な解決策ですか、それとも、同期されたコードを未知のコンテキストに送信することで、意図せずにデッドロックの問題を引き起こすのでしょうか..?
ありがとう。